具有文本字段滚动问题的 iOS 表格视图
Posted
技术标签:
【中文标题】具有文本字段滚动问题的 iOS 表格视图【英文标题】:iOS table view having text fields scrolling issue 【发布时间】:2011-11-02 07:30:02 【问题描述】:我有一个由自定义单元格组成的 UITableView。有 21 个包含文本字段的单元格。
当我尝试滚动和编辑 UITableView 底部的单元格时,我无法将单元格正确定位在键盘上方。
我还为我的单元格单独创建了一个自定义单元格类。所以键盘委托仅在该类上可用。
我已经看到很多关于更改视图大小等的答案......但到目前为止,它们都没有很好地工作。
谁能用一个具体的代码示例阐明“正确”的做法?
【问题讨论】:
您是否尝试过使用自动处理这些事情的 uitableviewcontroller 类..... 【参考方案1】:解决这个问题有三种方法,所有这些方法都与键盘相关,会显示通知....
当键盘出现时,您将 整个 视图(包括 tableview)向上移动以确保所选文本字段显示在屏幕上,您可以通过获取键盘高度(从通知)和文本字段位置。
您可以调整 tableview 的大小,使其仅与屏幕不被键盘覆盖的部分一样大,再次从通知中获取高度。
您可以将tableview的内容插入(用于底部值)设置为键盘的高度。
如果您需要,在调整大小或重新定位 tableview 时,您可能需要将其设置为将内容滚动到文本字段的 rect 以确保它在视图中...
- (void)scrollToRowAtIndexPath:(NSIndexPath *)indexPath atScrollPosition:(UITableViewScrollPosition)scrollPosition animated:(BOOL)animated;
【讨论】:
谢谢老兄,但键盘出现在表格视图单元格类上,它只包含内容视图而不是 整个 视图是否有任何方法可以在每个单元格上为行调用 他们的键盘是一个全局视图,所以即使它被单元格中的文本字段调用,您也可以从任何您喜欢的地方观察键盘通知,在这种情况下,从包含你的桌子。以上是关于具有文本字段滚动问题的 iOS 表格视图的主要内容,如果未能解决你的问题,请参考以下文章