带有 UITextField 的 UITableView,滚动错误

Posted

技术标签:

【中文标题】带有 UITextField 的 UITableView,滚动错误【英文标题】:UITableView with UITextField, wrong scrolling 【发布时间】:2012-08-30 08:45:30 【问题描述】:

我有一个在 Storyboard 中创建的动态 UITableView。 这个 tableview 有许多包含 UITextField 的单元格。 当我单击编辑按钮时,我想启用文本字段并使文本字段位于 tableview 第一响应者的第一行。同时在编辑模式下必须出现更多字段。

我可以显示更多字段,并且可以显示键盘以开始编辑第一行。无论如何,当我添加的行很多时,就会出现问题:出现键盘但表格视图向下滚动一点,我看不到第一个表格视图单元格......这很烦人。

我尝试了很多解决方案,但没有一个有效。例如,我尝试在这里使用 scrollToRowAtIndexPath:

- (void)textFieldDidBeginEditing:(UITextField *)textField 
    NSIndexPath *indexPath =[NSIndexPath indexPathForRow:0 inSection:0];
    [self.tableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionTop animated:YES];

【问题讨论】:

嗯,没有截图很难说。请提供一些。同时你应该调试tableview属性contentInset、contentOffset和contentSize来了解你的情况。 【参考方案1】:

UITableViewUIScrollView 的一种。所以this solution 可能对你有用。注意,如果你的UITableView被标准UITableViewController管理,那么内容会自动调整。

【讨论】:

以上是关于带有 UITextField 的 UITableView,滚动错误的主要内容,如果未能解决你的问题,请参考以下文章

带有 UiTextField 的 RxSwift

带有查找的 UITextField

带有 UITextField 的 UITableView,滚动错误

单击 UITextField 时带有工具栏的 UIPickerView

以编程方式添加带有约束的 UITextField

如何告诉带有 UITextField 的自定义 UIView 接收触摸事件