我在UITableViewCell中有一个UITextView。它们都动态调整大小以适应。我遇到的问题是当texview到达屏幕底部以下时(从创建新行),tableView不会滚动到它的位置。
我尝试了这段代码,但它没有用。
- (void)textViewDidChangeSelection:(UITextView *)textView {
[textView scrollRangeToVisible:textView.selectedRange];
}
答案 0 :(得分:0)
您应该在下面添加代码以滚动tableView:
- (void)textViewDidChangeSelection:(UITextView *)textView {
[textView scrollRangeToVisible:textView.selectedRange];
// since you are only scrolling the table a little bit and not by a whole cell, then change the scrollView.offset
CGPoint offset = tableView.contentOffset;
offset.x += 20; // an example. You need to change this based on the new size of the textview.
tableView.contentOffset = offset;
}
答案 1 :(得分:0)
您可以找到包含textView
的单元格并告诉表格视图滚动到该单元格:
UIView *parentView = textView.superview;
while(![parentView isKindOfClass:[UITableViewCell class]]) {
parentView = parentView.superview;
}
NSIndexPath *indexPath = [self.tableView indexPathForCell:(UITableViewCell*)parentView];
[self.tableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionMiddle animated:YES];