我在同一个问题上阅读了很多主题,但没有一个解决方案能够正常运作。
问题很常见:在我的UITableView中,我有很多行,它们只包含两个UITextView。当我开始在最后几行中编辑文本时,键盘与我的行重叠。
我找到了完美的方法scrollToRowAtIndexPath:atScrollPosition:animated:
我认为应该滚动我的tableView,但什么也没发生。为什么?如何解决这个问题?
我有这个代码:
-(void)textViewDidBeginEditing:(UITextView *)textView {
NSIndexPath *indexPath = [self.tableView indexPathForSubview:textView];
[self.tableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionTop animated:true];
}
其中indexPathForSubview
是我自己的UITableView类别中的方法 - 它正常工作并获得正确的IndexPath。
一些信息:在viewDidLoad中我设置了这些首选项
self.tableView.estimatedRowHeight = 100;
self.tableView.rowHeight = UITableViewAutomaticDimension;
我的应用程序如下: