我创建了一个新项目来测试它。
创建一个Master-Detail项目。在Main_iPhone.storyboard
:
504
在每个单元格中填充整个屏幕。 UITextView
填充原型单元格的下半部分。 MasterViewController.m
中,从cellForRowAtIndexPath:
cell.textLabel.text = [object description];
运行项目并添加一些单元格。然后点击文本视图以编辑内容。
每次点击文本视图时,单元格会向上滚动以暂时显示文本视图(应该如此),然后向下滚动以便单元格的顶部可见,这会隐藏文本视图背后的文本视图键盘。
此问题包含问题视频:UITableView in iOS 7 not scrolling to correct location when editing UITextView in cell
可能导致这种情况的原因是什么?你能找到任何谈论UITableViewController如何处理键盘的Apple文档吗?
答案 0 :(得分:-1)
我能够使用TPKeyboardAvoidingTableView解决此问题并将其添加到我的UITableViewController
子类中:
- (void)viewWillAppear:(BOOL)animated
{
// Removed to avoid default tableview scrolling behavior when the keyboard appears
//[super viewWillAppear:animated];
}
单独使用TPKeyboardAvoidingTableView是不够的,因为UITableViewController
的默认行为会覆盖它。阻止viewWillAppear
运行是我找到阻止这种行为的唯一方法。但我不喜欢这个解决方案,因为我不知道还有什么可能会失去。