【问题标题】:Keyboard does not inset scroll view in iOS 7iOS 7 中的键盘不插入滚动视图
【发布时间】:2014-01-04 14:11:07
【问题描述】:

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

我正在使用故事板,并且我已将自动AdjustsScrollViewInsets 设置为“是”。所有视图都在我的应用程序中的导航栏和标签栏下方正确扩展,但是我希望它在显示键盘时也可以调整插图。还是我需要手动调整?

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

【问题讨论】:

  • 可能选择文本字段时,可以将小区移动到表的顶部。不过,我从未尝试将文本字段放入单元格中......

标签: uitableview ios7 uiscrollview uikeyboard


【解决方案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 的顶部。

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-20
      • 1970-01-01
      • 1970-01-01
      • 2013-11-13
      • 2013-09-28
      • 2012-06-29
      相关资源
      最近更新 更多