Ios 在滑动导航栏隐藏后,HeaderCell与amp;等一下状态栏

Ios 在滑动导航栏隐藏后,HeaderCell与amp;等一下状态栏,ios,swift,uitableview,uinavigationcontroller,uinavigationbar,Ios,Swift,Uitableview,Uinavigationcontroller,Uinavigationbar,编辑:我尝试添加AppDelegateDidFinishLaunch.. 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)

编辑:我尝试添加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)
在我将状态栏改为红色后,我阻止了它进入状态栏,但我意识到它不仅仅是状态栏,而且当它被刷走时,导航栏也发生了一些事情。内容单元格将一直显示到导航栏被刷走后1秒。1秒后,一切看起来都很好,没有内容单元格越过标题单元格或状态栏

为了解决问题,当导航栏滑动时,标题单元格和状态栏之间有一个间隙,因此内容单元格会出现1秒。

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

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


原始问题:

我有一个TableViewController,它有标题和内容单元格。我正在滑动中隐藏导航控制器。但是,隐藏导航栏后,内容单元格的内容将位于顶部的状态栏下。其他一切都很好

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

  • Extend Edges-应检查顶部栏,以使标题单元格停止在状态栏下,但不幸的是,它没有停止内容单元格。

我试过:

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

  • self.extendedlayoutincludesopaquebar=false
    不执行任何操作

  • self.automaticallyAdjustsScrollViewInsets=false
    使用此选项将头单元格锚定到视图顶部,以便将头单元格定位在导航栏下

  • self.edgesForExtendedLayout=uirectredge.None
    。使用此选项可以使HeaderCell自身从状态栏顶部开始定位,从而使收割台的一半看起来位于状态栏下方。(还有导航栏-无论我选择什么,导航栏的颜色都会变为暗灰色,所以不太方便)


我想问

  • 有没有办法不使状态栏不透明并使其坚固?(我在故事板上有
    状态栏-内置的

  • 否则,有没有办法防止这种行为?也许考虑到状态栏是实心的;或者在导航栏隐藏后,在状态栏下给标题单元格一个空格或位置HeaderCell



我在TableViewController上没有得到它,这是我的解决方法

  • 创建了一个新的ViewController

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

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

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

  • 在AppDelegate中,为状态栏指定白色


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