【问题标题】:After NavigationBar Hide on Swipe, Cells appear between HeaderCell & Status Bar for a secondNavigationBar Hide on Swipe 后,单元格出现在 HeaderCell 和状态栏之间一秒钟
【发布时间】:2016-04-08 21:20:48
【问题描述】:

编辑:我尝试在 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 Cell和状态栏之间有一个间隙表格,所以内容单元格会出现1秒。

但是我怎样才能防止这个 1-2 秒的错误呢?它是标题单元格,它提供了 1-2 秒的间隙。如果我快速向下滑动/滚动表格视图,通常会发生这种情况。

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


原问题:

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

标题单元格看起来不错,因为它们停在状态栏的正下方。

  • Extend Edges - Top Bars should be checked for the header cell to stop going under status bar but unfortunately doesn't stop content cell.

我试过了:

  • self.tableView.contentInset = UIEdgeInsetsMake(20, 0, 0, 0)。 但是,这会在标题单元格和状态栏之间留出空间(甚至在导航栏隐藏之前)。我想在隐藏导航栏后实现。

  • self.extendedLayoutIncludesOpaqueBars = false 什么都不做。

  • self.automaticallyAdjustsScrollViewInsets = false 使用它可以将 HeaderCell 锚定到视图的顶部,以便 HeaderCell 位于 NavigationBar 下方。

  • self.edgesForExtendedLayout = UIRectEdge.None。使用它使 HeaderCell 位置本身从状态栏的顶部开始,因此一半的 Header 似乎在状态栏下方。 (还有 Navigation Bar - Bar Tint 会强制变为暗灰色,忽略我选择的任何内容,所以不太方便)


我想问

  • 有没有办法不使状态栏不透明并使其稳定? (我在 Storyboard 上有 Status Bar - Inherred)。

  • 否则,有没有办法防止这种行为?也许考虑状态栏稳固;或者可能在导航栏隐藏后给标题单元格一个空间或位置 HeaderCell 在状态栏下开始?


【问题讨论】:

  • 您可以设置约束,使表格视图不与状态栏重叠。
  • 对于表格视图?表格视图的约束似乎已禁用
  • 你考虑过隐藏状态栏吗?
  • @user3353890 我要保留状态栏

标签: ios swift uitableview uinavigationcontroller uinavigationbar


【解决方案1】:

我没有用 TableViewController 获得它,这是我的解决方法...

  • 创建了一个新的 ViewController

  • 未选中“调整滚动视图插图”

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

  • 为 TableView 添加了约束(上/下/左 -20/右 20)。

  • 在 AppDelegate 中,为状态栏赋予白色。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 2022-01-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多