我有两个viewcontrollers。第一个viewcontroller没有状态栏。
class ViewController: UIViewController {
override func prefersStatusBarHidden() -> Bool {
return true
}
}
我也在Info.plist中将UIViewControllerBasedStatusBarAppearance
设置为YES。
第二个viewcontroller有状态栏。
class SecondViewController: UIViewController {
override func prefersStatusBarHidden() -> Bool {
return false
}
}
他们之间的关系是一种推动力。
最后一件事是我在application:didFinishLaunchingWithOptions:
方法中将半透明属性设置为false。
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
UINavigationBar.appearance().translucent = false
UINavigationBar.appearance().barTintColor = UIColor.redColor()
return true
}
当我在导航栏中单击后面时,有一个黑色条。我怎么能摆脱它?当我将translucent
设置为true时,黑条就消失了。
答案 0 :(得分:2)
阅读帖子Explaining difference between automaticallyAdjustsScrollViewInsets, extendedLayoutIncludesOpaqueBars, edgesForExtendedLayout in iOS7后,我找到了解决方案。
将extendedLayoutIncludesOpaqueBars
设为true。
func viewDidLoad() {
extendedLayoutIncludesOpaqueBars = true // property introduced in iOS7,default value is false
}