我有控制器,称之为 ActionBarViewController (它继承 UIViewController )。它有视图,称之为 ActionBarView 。该视图有2个子视图 - contentView 和 actionBar 。 contentView 框架等于 ActionBarView 框架。 actionBar 框架是 ActionBarView 框架底部的小框架。
我还有一个控制器 - ListViewController (它继承了UITableViewController)。我将它用作带有 ActionBarViewController 作为父级的childViewController。 ListViewController 的视图(tableView)设置为 ActionBarView 的 contentView 。
结果,我有UITableViewController,它是childViewController。 ParentViewController视图有额外的子视图 - 操作栏。
为了正确的表格视图滚动,我在actionBar show / hide上添加/删除tableView的其他contentInsets。但是当键盘出现/消失时,ListViewController会自行添加/删除contentInsets。
最后,当键盘显示tableView具有复杂的底部插入,键盘插入和actionBar插入时。
问题: 任何机构都知道解决这个问题的正确方法吗? 在哪一点UITableViewController更改tableView insets?如何覆盖它?
P.S。:以编程方式创建的所有视图和控制器。