【发布时间】:2014-09-17 09:35:02
【问题描述】:
我在隐藏 UINavigationController 的导航栏时遇到了一些小问题
我已添加:
self.navigation!.navigationBar.hidden = true
不幸的是,这会在白色状态栏后面留下某种背景(白色),将内容(绿色)向下推,以及不需要的滚动行为,我可以在其中上下拖动内容以显示/隐藏白色背景.我需要的是状态栏不占用任何垂直空间并位于内容之上(绿色)
我如何实现这一目标? 非常欢迎 swift 以及 obj-c 的答案
编辑: 我尝试了以下的各种版本,问题仍然存在-.-
override func loadView() {
self.view = UIView(frame:UIScreen.mainScreen().bounds)
self.view.backgroundColor = UIColor.whiteColor()
self.navigation = UINavigationController(rootViewController: self.guideViewController!)
self.navigation!.navigationBarHidden = true
self.navigation!.setNavigationBarHidden(true, animated: true)
self.view.addSubview(self.navigation!.view)
}
override func viewDidLoad() {
self.automaticallyAdjustsScrollViewInsets = false
self.navigation!.automaticallyAdjustsScrollViewInsets = false
}
编辑 2:
印刷:
UIApplication.sharedApplication().statusBarFrame.size.height
viewDidLoad 返回 20 后
【问题讨论】:
-
什么“!” IN > self.navigation!.navigationBar.hidden = true ?
-
它只是意味着解包一个可选值,一个在定义时没有设置的变量是可选的,需要在请求时解包
-
你如何设置你的视图约束?
-
编辑我的编辑以显示视图约束
标签: ios objective-c swift uinavigationbar