键盘不会在iOS 7中插入滚动视图

时间:2014-01-04 14:11:07

标签: uitableview ios7 uiscrollview uikeyboard

我正在开发一个项目,我有一个包含大量单元格的UITableView。其中一个单元格包含UITextField。当我点击UITextField时,会出现键盘。问题是文本字段现在被键盘隐藏了。

我正在使用故事板,我已将automaticAdjustsScrollViewInsets设置为YES。所有视图都正确地扩展到我的应用程序中的导航栏和标签栏下方,但我希望它还可以在显示键盘时调整插图。或者我需要手动调整吗?

如果我需要手动调整此项,我如何将视图恢复为系统自动设置的原始插图?我应该在awakeFromNib中复制这些插入内容,还是在哪个阶段可以确定系统已经调整了插入内容?

2 个答案:

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

假设您已将UITextFieldUITableView个委托设置为控制器,这将导致视图将UITableViewCell滚动到UITableView的顶部。

答案 1 :(得分:1)

我终于找到了这个问题,这真是太愚蠢了。我不小心有一个标准的UIViewController处理我的UITableView。 UITableView是我的主视图,它不包含在标准的UIView中。

当我用UITableViewController替换UIViewController继承时,一切都按预期开始工作。