表视图控制器中的状态栏重叠 - 是 Swift

Posted

技术标签:

【中文标题】表视图控制器中的状态栏重叠 - 是 Swift【英文标题】:Status bar overlaps in Table View controller - is Swift 【发布时间】:2015-11-12 14:05:35 【问题描述】:

我正在创建一个带有表格视图控制器的应用程序。现在我的问题是当我尝试滚动表格行时,我的标题也在滚动。我想停止滚动,仅用于标题视图。我的 main.Storyboard 看起来像这样。

我的模拟器输出看起来像这样。

我怎样才能避免这个问题。我只想滚动行项目。在以下结构中,我只希望单元格滚动。视图必须固定我该怎么做。

【问题讨论】:

【参考方案1】:

似乎您将标题视图放在 tableView 的tableHeaderView 内。您需要在情节提要上添加 UINavigationController 并将您的 UITableViewController 链接为 rootViewController。 或者如果你想使用自定义标题视图,你需要创建一个UIViewContoller 并在那里添加你的视图。

【讨论】:

如果我创建 UIviewcontroller 那么如何添加 tableview 和单元格。导航控制器无济于事。看看我的设计标题,副标题,有时还需要添加另一个标签 如果您使用 UITableViewContoller,则无法在表格视图之外添加任何其他视图。将 UITableView 添加到 UIViewContoller 更复杂。在这种情况下,您不能将原型单元格放置在表格视图中。这是一篇很好的文章如何做到这一点jmeveryday.com/uitableview-inside-uiviewcontroller 使用 UIViewController 代替 UITableviewContoller。说明在文章中【参考方案2】:

知道这可能已解决,但只需将您的 NavigatioCo troller 添加到 Storyboard 并转到您的 UITabkeViewController..UIViewController 将自动出现在 NavigationController 中,无需任何编码..

【讨论】:

【参考方案3】:

试试这个:

如果您想将 UITableViewController 保留在情节提要中,而无需手动将其放置到另一个视图中,您可以将 UITableViewController 嵌入 UINavigationController(编辑器 > 嵌入 > 导航控制器)并取消选中检查器中的“显示导航栏” .这解决了不需要额外调整的问题,并且还保留了故事板中的 UITableViewController 的场景。

【讨论】:

以上是关于表视图控制器中的状态栏重叠 - 是 Swift的主要内容,如果未能解决你的问题,请参考以下文章

如何修复表格视图的搜索栏与状态栏重叠

如何在没有状态栏重叠的情况下在 iOS7 上呈现视图控制器

如何使用 swift 在一个视图控制器中更改状态栏颜色?

iOS11中没有状态栏的导航栏与安全区域重叠

Swift 4 - 特定视图控制器状态栏样式不变

搜索控制器中的搜索栏重叠状态栏