如何将UITableViewCell滚动到特定位置?

时间:2014-02-15 20:36:10

标签: ios objective-c uitableview uitextfield

我有一个UITableView,每个UITableViewCell都有一个UITextField。选择UITextField后,我会将UITableView动画显示在屏幕上,然后我更改UITableView尺寸,以便用户可以看到UITableViewCell UITextFieldUITableViewCell英寸

目前一切正常,UITableViewCell显示在最底部,问题是当用户点击回车键时我尝试将下一个UITextField UITextField 2 or 3 up from the bottom so when enter is hit there is no worry about the next设置为第一响应者然后滚动到视图....但问题是这个下一个字段尚未加载,所以我无法访问它。

我想知道是否有办法初始滚动屏幕下半部分中的第一个选定的UITableViewCell / not being loaded.... currently I have tried writing an off set but it dosnt work if I select a UITextField - (BOOL)textFieldShouldBeginEditing:(UITextField *)textField { CGRect rc = [textField bounds]; rc = [textField convertRect:rc toView:self.finishingTableView]; CGPoint pt = rc.origin; pt.x = 0; if(rc.origin.y > 200) pt.y -= 150; else pt.y -= rc.origin.y; [self.finishingTableView setContentOffset:pt animated:YES]; UITextField` ...这就是代码看起来像。

{{1}}

1 个答案:

答案 0 :(得分:2)

UITableView有一个方法:

- (void)scrollToRowAtIndexPath:(NSIndexPath *)indexPath atScrollPosition:(UITableViewScrollPosition)scrollPosition animated:(BOOL)animated

您可以使用scrollPosition来实现所需的结果。