当文本字段开始编辑时,表格视图滚动iphone
问题描述:
我在iPhone应用程序中有表格视图控制器。表格视图有两个部分。第一节有两排,第二节有一排。第二部分有一个自定义表格视图单元格。当文本字段开始编辑时,表格视图滚动iphone
第二部分有一个文本框,当文本框开始编辑并弹出键盘时隐藏。我想让这个表格视图在弹出键盘时滚动。
我试了下我在不同网站上遇到的代码,但徒劳无功。
在此先感谢。
-(void) textFieldDidBeginEditing:(UITextField *)textField {
CGRect textFieldRect = [textField frame];
[self.tableView scrollRectToVisible:textFieldRect animated:YES];
}
atScrollPosition:UITableViewScrollPositionMiddle animated:YES];
}
-(void) textFieldDidBeginEditing:(UITextField *)textField {
UITableViewCell *cell = (UITableViewCell*) [[textField superview] superview];
[self.tableView scrollToRowAtIndexPath:[tableView indexPathForCell:cell]
atScrollPosition:UITableViewScrollPositionMiddle animated:YES];
}
答
您想要使用表视图的setContentOffset
方法。确定垂直滚动的大小(以像素为单位),然后:
CGFloat verticalScroll = ... your code here ...
[self.tableView setContentOffset:CGPointMake(0, verticalScroll) animated:YES];
答
我在Static Cell TVC上遇到了这个问题。当覆盖viewWillAppear
而不是调用它的Super时有一个问题。所以,如果你这样做,请确保调用
[super viewWillAppear:animated];
在viewWillAppear
答
我的问题是我在
- (UIView*)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section {
功能将包含的UITextField表格单元格的顶部。如果你这样做,自动UITableView滚动不起作用。
所以,你必须做一些算术来确定你的最后一行显示的时间,并把你的特殊UITableViewCell和其他所有的一起放在这里。
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
良好的呼叫,我添加viewWillAppear后忽略了这一点:一个静态TVC,而不是另一个。 – NSTJ 2013-01-28 14:37:17
救了我一个痛苦的世界。谢谢 :) – 2016-04-09 15:12:07