无法滚动包含 UITextFields 的 UITableViewCells

Posted

技术标签:

【中文标题】无法滚动包含 UITextFields 的 UITableViewCells【英文标题】:Trouble scrolling UITableViewCells containing UITextFields 【发布时间】:2011-12-30 18:45:40 【问题描述】:

我的UITableViewController 子类有几个UITableViewCells 包含UITextFields。 textFields 是单元格内容视图的子视图。

当键盘覆盖单元格时,单元格会自动向上滚动。但是,点击“下一步”停止编辑 textfield1 并开始编辑 textfield2 不能正确滚动 textfield2。在这种情况下,textfield2 仍然被键盘遮挡。

任何想法为什么点击“下一步”不会滚动 tableView?

【问题讨论】:

【参考方案1】:

UITableViewController 自动处理滚动表格视图以响应UIKeyboard(Will|Did)(Show|Hide) 通知。由于键盘已经在屏幕上,因此不会通知表格视图需要重新定位其内容视图。您将不得不自动重新定位视图以响应文本字段更改第一响应者状态。

考虑使用-scrollToRowAtIndexPath:atScrollPosition:animated:

【讨论】:

以上是关于无法滚动包含 UITextFields 的 UITableViewCells的主要内容,如果未能解决你的问题,请参考以下文章

UITableView滚动后UITextFields重叠

Xcode UI 测试无法编辑多个 UITextFields

具有多个 UITextFields 的 iOS UITableViewCell 子类滚动出视图

滚动时自定义 UITableViewCell 中的 UITextFields 文本出现在其他单元格中

关闭生成的 UITextfields

UIScrollView 无法正常工作(它返回顶部并且不显示任何滚动条