NavigationBar Hide on Swipe 后,Cells 出现在 HeaderCell 和 Status Bar 之间一秒钟

After NavigationBar Hide on Swipe, Cells appear between HeaderCell & Status Bar for a second

编辑: 我尝试在 AppDelegate 中添加 DidFinishLaunch..

let view: UIView = UIView.init(frame: CGRectMake(0, 0, UIScreen.mainScreen().bounds.size.width, 25))
view.backgroundColor = UIColor.redColor()
view.alpha = 1
self.window!.rootViewController!.view.addSubview(view)

在我将状态栏更改为红色后,我阻止它进入状态栏下方,但我意识到它不仅仅是状态栏,导航栏在滑动时发生了一些变化。内容单元格会在 NavBar 被刷走后 1 秒内显示。 1 秒后,一切看起来都很好,没有内容单元格超过 header 单元格或状态栏。

为了解决这个问题,当导航栏滑开时,Header单元格和状态栏之间有一个间隙,所以内容单元格出现1秒。

但是我怎样才能避免这个 1-2 秒的错误呢? header 单元格会出现 1-2 秒的间隔。如果我 swipe/roll 快速查看 table ,它通常会发生。

我将下面的原始问题留给未来的读者。


原题:

我有一个包含 Header 和内容单元格的 TableViewController。我在滑动时隐藏了导航控制器。但是,隐藏导航栏后,内容单元格的内容位于顶部的状态栏下方。其他一切都很好。

Header 单元格看起来很好,因为它们就停在状态栏下方。


我试过了:


我想问


我没能用 TableViewController 得到它,这是我的解决方法...

  • 创建了一个新的 ViewController

  • 未勾选'Adjust Scroll View Insets'

  • 已将 TableView 从 TableViewController 复制到 ViewController 的视图中。

  • 向 TableView 添加约束 (Top/Bottom/Left -20/Right 20).

  • 在 AppDelegate 中,将状态栏设置为白色。