导航栏更改(有时)位置

时间:2016-07-22 12:39:40

标签: ios swift user-interface uinavigationbar

我的导航栏位置有问题。

有时在随机手机的随机视图中,我的导航栏没有正确的位置。它应该低约30-35像素。

愚蠢的是我无法重现这个错误。当手机在后台有很多进程时,似乎出现了这个bug。

背后的逻辑:我的初始视图是容器视图。此容器视图实现导航视图控制器。我无法改变这一点,因为我承担了这个项目。如果不是,我不想改变基本结构。

我知道你就像一个透视者,因为我无法提供更多信息。我希望我能......

但也许您知道如何将导航设置在固定位置?或者你知道这种错误并已修复它? 我很感谢你的一些想法。

enter image description here

更新 谢谢你的答复。

我实施此代码,我无法说,它是否有效,因为我的错误并不总是出现。我们会看到,我会尽快给予答复。

 func fixPositionOfNavigationBar() {

    self.edgesForExtendedLayout = .Top
    self.extendedLayoutIncludesOpaqueBars = true

    if let navigationBar = self.navigationController?.navigationBar {
        positionForBar(navigationBar)
    }
}

当我知道我正在搜索的内容时,我发现了与我相似的问题..也许它会有所帮助: One possible solution Snd possible solution

1 个答案:

答案 0 :(得分:0)

尝试使视图控制器符合UIBarPositioningDelegate协议:

func positionForBar(bar: UIBarPositioning) -> UIBarPosition  {
  return UIBarPosition.TopAttached
}