隐藏UINavigationBar时UITableViewController插入

时间:2018-02-08 21:28:41

标签: ios swift uitableview uikit

我有两个UITableViewControllers

使用以下代码隐藏了导航栏

self.navigationController?.setNavigationBarHidden(true, animated: false)

这(显然)隐藏了导航栏。但是,它也很好地将UITableViewController中的UITableView移动到视图的顶部。

即使UINavigationBar被隐藏,我也希望将UITableView保持在那个漂亮的Y偏移(~44pxs)。

隐藏导航栏时要更新的属性是什么?当导航栏被隐藏时,如何确保此属性停止更新?

我通过添加以下内容成功完成了此操作:

if #available(iOS 11.0, *) {
    self.additionalSafeAreaInsets.top = 44
} else {
    // what do do on iOS10?
}

但我不喜欢这个解决方案,因为

  1. 仅适用于iOS11
  2. 它使用了44个幻数。
  3. 请参阅下面的屏幕截图

    UITableViewController,导航栏可见 UITableViewController with the navbar visible

    隐藏导航栏的UITableViewController UITableViewController with the navbar hidden

0 个答案:

没有答案