我正在开发一个项目,我有一个包含大量单元格的UITableView。其中一个单元格包含UITextField。当我点击UITextField时,会出现键盘。问题是文本字段现在被键盘隐藏了。
我正在使用故事板,我已将automaticAdjustsScrollViewInsets设置为YES。所有视图都正确地扩展到我的应用程序中的导航栏和标签栏下方,但我希望它还可以在显示键盘时调整插图。或者我需要手动调整吗?
如果我需要手动调整此项,我如何将视图恢复为系统自动设置的原始插图?我应该在awakeFromNib中复制这些插入内容,还是在哪个阶段可以确定系统已经调整了插入内容?
答案 0 :(得分:1)
你想要实现这样的东西:
-(BOOL)textFieldShouldBeginEditing:(UITextField*)textfield
{
UITableViewCell *currentCell = (UITableViewCell *) textField.superview.superview;
NSIndexPath *currentIndexPath = [self.tableView indexPathForCell:currentCell];
[self.tableView scrollToRowAtIndexPath:nextIndexPath atScrollPosition:UITableViewScrollPositionTop animated:YES];
return YES;
}
假设您已将UITextField
和UITableView
个委托设置为控制器,这将导致视图将UITableViewCell
滚动到UITableView
的顶部。
答案 1 :(得分:1)
我终于找到了这个问题,这真是太愚蠢了。我不小心有一个标准的UIViewController处理我的UITableView。 UITableView是我的主视图,它不包含在标准的UIView中。
当我用UITableViewController替换UIViewController继承时,一切都按预期开始工作。