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

Posted

技术标签:

【中文标题】iOS TableViewController 滚动离开状态栏下的内容和导航栏【英文标题】:iOS TableViewController Scrolling away content and navigation bar under status bar 【发布时间】:2015-11-07 12:34:26 【问题描述】:

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

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

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

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

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

Xcode 7.1 Swift 2.0 ios 9

【问题讨论】:

【参考方案1】:

在创建这种结构(表格 + 其他元素)时,最好的方法是实际使用包含 TableView 和其他元素(如导航)的 ViewController。不要尝试将不属于表格本身的元素放入表格中。

这是一个结构示例,我特意将自定义视图(在您的情况下为导航)着色为橙色。如您所见,它在桌子外面。这样,表格的显示和滚动就完全与其他元素分开了。

【讨论】:

【参考方案2】:

你可以试试self.edgesForExtendedLayout = UIExtendedEdgeNone;

【讨论】:

以上是关于iOS TableViewController 滚动离开状态栏下的内容和导航栏的主要内容,如果未能解决你的问题,请参考以下文章

ios 7 TableViewController 单元格无法完全显示

如果当前视图是 tableViewController,iOS TableView 不会重新加载

使用 pushViewController 加载 TableViewController 后没有发生 Ios-Segue 到 UIViewController

IOS SplitView TableViewController 查询

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

iOS高级控件之tableViewController-城市列表