热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

键盘隐藏包含文本字段的表视图单元格-Keyboardhidingtableviewcellscontainingtextfields

Ihaveauiviewcontrollerthatcontainsauitableview,thisuitableviewisfullofcustomcellsthat

I have a uiviewcontroller that contains a uitableview, this uitableview is full of custom cells that contain a textfield.

我有一个包含uitableview的uiviewcontroller,这个uitableview充满了包含textfield的自定义单元格。

This view in storyboard is loaded as a popover, so the behaviour is:

故事板中的视图作为弹窗加载,因此行为为:

iPad - If the keyboard is loaded and the keyboard hides the current editing cell, the cell automatically moves up so it is visible, regardless of its position in the tableview

iPad——如果加载了键盘,键盘隐藏了当前的编辑单元格,那么该单元格将自动向上移动,使其可见,无论它在tableview中的位置如何

iPhone - It doesn't, the tableview dosn't move if the keyboard hides the cell.

iPhone -如果键盘隐藏了单元格,它不会移动。

Can anyone suggest an elegant way round this?

有人能提出一个优雅的解决方法吗?

Thanks

谢谢

2 个解决方案

#1


1  

I had similar issue using Xcode 8.2.1, swift 3 with keyboard hiding UITextView when it becomeFirstResponder(), spent few hours to figure out what was the problem without any luck, finally created new test project with single UITableViewController and it worked, thereafter re-created the Table View Controller in storyboard - cells started to scroll to allow space for keyboard which appears just below the designated text view as expected...

使用Xcode 8.2.1中我也有类似的问题,迅速3与键盘隐藏UITextView becomeFirstResponder时(),花了几个小时来找出是什么问题没有任何运气,最后创建新测试项目与单一UITableViewController工作,之后重新创建故事板的表格视图控制器——细胞开始滚动,使键盘的空间似乎略低于指定的文本视图像预期的那样……

perhaps something with wiring that prevented it from working properly

可能是有电线的东西阻止了它正常工作

#2


0  

You can use the table view method scrollToRowAtIndexPath

您可以使用表视图方法scrollToRowAtIndexPath。

func scrollToRowAtIndexPath(_ indexPath: NSIndexPath,
           atScrollPosition scrollPosition: UITableViewScrollPosition,
                   animated animated: Bool)

to scroll the table view when a text field becomes the first responder, for example:

当文本字段成为第一个响应者时,滚动表视图,例如:

let indexPath = NSIndexPath(forItem: 4, inSection: 0)
tableView.scrollToRowAtIndexPath(indexPath, atScrollPosition: .Bottom, animated: true)

See the UITableView reference for further information https://developer.apple.com/library/ios/documentation/UIKit/Reference/UITableView_Class/#//apple_ref/doc/uid/TP40006943-CH3-SW44

更多信息请参见UITableView引用,https://developer.apple.com/library/ios/documentation/uikit/reference/uitableview_class/# /apple_ref/doc/uid/TP40006943-CH3-SW44

I hope this helps you. Feel free to ask if anything is unclear.

我希望这对你有帮助。如果有什么不清楚的地方,请尽管问。


推荐阅读
author-avatar
萌萌美人鱼
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有