UITableViewController将自动调整内容相对于键盘的位置(iOS,Swift)

我如何遇到这个话题

我过去很少使用UITableViewController。

  1. 我创建的视图很少是简单的tableViews。 相反,它们包含自定义的页眉,页脚,弹出窗口,按条件排列的按钮等。插入了全尺寸tableview的UITableViewController不符合要求。
  2. 添加一个tableview并为UIViewController设置一些委托就足够了。

我不明白的

那么,什么时候应该使用UITableViewController?

我现在如何理解

UITableViewController具有一个有用的特性:

在tableview中选择输入字段(例如textView,textField)时,它将自动调整滚动插入,以便在键盘上方可以看到输入。

我做了什么

这是一个简单的项目:

运行该项目,结果是这样的(对拉伸效果差的gif表示歉意):

那样可爱吗? UIViewController的实现需要

  • 键盘高度
  • 当前位置
  • 响应者职位
  • 从上面计算滚动插图
  • 设置插图

所有这些都由UITableViewController隐式处理。

当然,这可以通过使用默认实现定义键盘帮助程序协议来实现,但是如果这看起来太麻烦了,那么查看ContainerViewController + UITableViewController可能会很方便。