iOS 7 中的键盘不插入滚动视图
Posted
技术标签:
【中文标题】iOS 7 中的键盘不插入滚动视图【英文标题】:Keyboard does not inset scroll view in iOS 7 【发布时间】:2014-01-04 14:11:07 【问题描述】:我正在开发一个包含大量单元格的 UITableView 的项目。其中一个单元格包含一个 UITextField。当我点击 UITextField 时,会出现键盘。问题是文本字段现在被键盘隐藏了。
我正在使用故事板,并且我已将自动AdjustsScrollViewInsets 设置为“是”。所有视图都在我的应用程序中的导航栏和标签栏下方正确扩展,但是我希望它在显示键盘时也可以调整插图。还是我需要手动调整?
如果我需要手动调整,如何将视图恢复为系统自动设置的原始插图?我应该在 awakeFromNib 中复制这些插图还是在哪个阶段可以确定系统已经调整了插图?
【问题讨论】:
可能选择文本字段时,可以将小区移动到表的顶部。不过,我从未尝试将文本字段放入单元格中...... 【参考方案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
的顶部。
【讨论】:
【参考方案2】:我终于找到了问题所在,这真的很愚蠢。我不小心有一个标准的 UIViewController 处理我的 UITableView。 UITableView 是我的主视图,它不包含在标准 UIView 中。
当我用 UITableViewController 替换 UIViewController 继承时,一切都开始按预期工作。
【讨论】:
以上是关于iOS 7 中的键盘不插入滚动视图的主要内容,如果未能解决你的问题,请参考以下文章
向上推键盘 Swift iOS 后,我的 Scrollview 不会一直向上滚动
iOS - 带有内容插入的粘性标题 - 标题视图不像单元格那样滚动