UITableViewCell中的UITextView滚动到位置

时间:2015-01-20 06:06:12

标签: ios objective-c uitableview uitextview

我在UITableViewCell中有一个UITextView。它们都动态调整大小以适应。我遇到的问题是当texview到达屏幕底部以下时(从创建新行),tableView不会滚动到它的位置。

我尝试了这段代码,但它没有用。

- (void)textViewDidChangeSelection:(UITextView *)textView {
    [textView scrollRangeToVisible:textView.selectedRange];
}

2 个答案:

答案 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];