2017-05-05 26 views
0

我讀了很多與同樣的問題的主題,但沒有一個解決方案的工作。鍵盤與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; 

我的應用程序是這樣的:

ViewController

overlapping

回答

0

,你可以調整你的UITableView(UIScrollView的子類)」 s contentInset

當然,你可以解決這個問題通過修改UITableViewWrapperView的大小,這是UITableView的解決方案。 enter image description here

+0

你意味着'contentOffset'?是的,它可以工作,但我認爲,'scrollToRowAtIndexPath'是更看中的辦法,而不必如果你不使用計算偏移 –

+0

'UITableViewController',你將有''scrollToRowAtIndexPath爲什麼 –

+0

麻煩?哪裏不對? –

相關問題