隐藏导航栏后面的 tableHeaderView

Posted

技术标签:

【中文标题】隐藏导航栏后面的 tableHeaderView【英文标题】:Hiding tableHeaderView behind of the Navigation Bar 【发布时间】:2017-03-30 02:30:35 【问题描述】:

我使用以下代码行将搜索栏添加为tableHeaderView

self.tableView.tableHeaderView = self.searchController.searchBar

但我的问题是像 ios 应用程序一样隐藏它。在 iBooks 应用程序的搜索栏上,始终位于导航栏的后面。我没有从 Apple 的文档中找到任何相关文档。

【问题讨论】:

【参考方案1】:

要从一开始就隐藏此栏,您可以使用setContentOffset,如this answer 所示:

self.tableView.setContentOffset(CGPoint(x: 0, y: 44), animated: false)

这应该从一开始就隐藏搜索栏。

【讨论】:

不起作用。我在 viewDidLoad 方法中调用了你的建议 override func viewDidLoad() super.viewDidLoad() DispatchQueue.main.asyncAfter(deadline: .now() + 0.01) self.tableView.setContentOffset(CGPoint.init(x: 0, y: 44), animated: false) 这很好用。感谢您的帮助 这很奇怪。我想知道为什么它会延迟工作。你试过没有延迟animated: true 尝试将其放入viewDidAppear。 It occurs later in the lifecycle of the UIViewController 非常感谢!

以上是关于隐藏导航栏后面的 tableHeaderView的主要内容,如果未能解决你的问题,请参考以下文章

Monotouch Dialog 部分隐藏在 IOS 7 顶部导航栏和时钟后面

CNContactViewController 隐藏导航栏

隐藏导航栏时的假状态栏颜色

全屏视频播放器 - 导航栏后面的媒体控制器

XLPagerTabStrip ButtonBar 粘在导航栏后面

下拉菜单隐藏在图片后面