UITableViewController将自动调整内容相对于键盘的位置(iOS,Swift)
我如何遇到这个话题
我过去很少使用UITableViewController。
- 我创建的视图很少是简单的tableViews。 相反,它们包含自定义的页眉,页脚,弹出窗口,按条件排列的按钮等。插入了全尺寸tableview的UITableViewController不符合要求。
- 添加一个tableview并为UIViewController设置一些委托就足够了。
我不明白的
那么,什么时候应该使用UITableViewController?
我现在如何理解
UITableViewController具有一个有用的特性:
在tableview中选择输入字段(例如textView,textField)时,它将自动调整滚动插入,以便在键盘上方可以看到输入。
我做了什么
这是一个简单的项目:
运行该项目,结果是这样的(对拉伸效果差的gif表示歉意):
那样可爱吗? UIViewController的实现需要
- 键盘高度
- 当前位置
- 响应者职位
- 从上面计算滚动插图
- 设置插图
所有这些都由UITableViewController隐式处理。
当然,这可以通过使用默认实现定义键盘帮助程序协议来实现,但是如果这看起来太麻烦了,那么查看ContainerViewController + UITableViewController可能会很方便。