我的导航栏位置有问题。
有时在随机手机的随机视图中,我的导航栏没有正确的位置。它应该低约30-35像素。
愚蠢的是我无法重现这个错误。当手机在后台有很多进程时,似乎出现了这个bug。
背后的逻辑:我的初始视图是容器视图。此容器视图实现导航视图控制器。我无法改变这一点,因为我承担了这个项目。如果不是,我不想改变基本结构。
我知道你就像一个透视者,因为我无法提供更多信息。我希望我能......
但也许您知道如何将导航设置在固定位置?或者你知道这种错误并已修复它? 我很感谢你的一些想法。
更新 谢谢你的答复。
我实施此代码,我无法说,它是否有效,因为我的错误并不总是出现。我们会看到,我会尽快给予答复。
func fixPositionOfNavigationBar() {
self.edgesForExtendedLayout = .Top
self.extendedLayoutIncludesOpaqueBars = true
if let navigationBar = self.navigationController?.navigationBar {
positionForBar(navigationBar)
}
}
当我知道我正在搜索的内容时,我发现了与我相似的问题..也许它会有所帮助: One possible solution Snd possible solution
答案 0 :(得分:0)
尝试使视图控制器符合UIBarPositioningDelegate
协议:
func positionForBar(bar: UIBarPositioning) -> UIBarPosition {
return UIBarPosition.TopAttached
}