我讀了很多與同樣的問題的主題,但沒有一個解決方案的工作。鍵盤與UITableView中的UITextView重疊。爲什麼不起作用scrollToRowAtIndexPath:atScrollPosition:animated:?
問題是共同的:在我的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;
我的應用程序是這樣的:
你意味着'contentOffset'?是的,它可以工作,但我認爲,'scrollToRowAtIndexPath'是更看中的辦法,而不必如果你不使用計算偏移 –
'UITableViewController',你將有''scrollToRowAtIndexPath爲什麼 –
麻煩?哪裏不對? –