iOS TableViewController 滚动离开状态栏下的内容和导航栏

iOS TableViewController Scrolling away content and navigation bar under status bar

我正在使用 TableViewController 并且我在顶部添加了我自己的导航栏以匹配我拥有的其他 tabBar 页面。

我不得不在顶部放置一个空视图以降低 table 视图的起点,这样它就不会覆盖我的 navBar,这已经很烦人了。

现在看起来不错,只是当我向上滚动列表时 navBarTableView 都在状态栏下方。

我希望我的 navBar 保持原样,并且 TableView 在滚动时不要进入状态栏下方。

首先,如果不在 table 视图下,我无法在我的场景中添加任何其他内容,我知道这会导致导航栏跟随 table 视图向上,所以这就是一部分问题..

Xcode7.1swift2.0iOS9

在创建这种结构(table + 其他元素)时,最好的方法是实际上有一个 ViewController,其中包含一个 TableView 和其他元素(例如您的导航).不要尝试将不属于 table 本身的元素放在 table.

这是一个结构示例,其中我特意将自定义视图(在您的示例中为导航)涂成橙色。如您所见,它在 table 之外。这样 table 的显示和滚动就与其他元素完全分开了。

你可以试试self.edgesForExtendedLayout = UIExtendedEdgeNone;