在特定 viewcontroller 中隐藏状态栏
Hiding a statusbar in specifc viewcontroller
我正在尝试实现与您在 facebook 中显示状态栏逐渐消失的图片时相同的效果。我在下面尝试过,但似乎什么也没发生,我该怎么做才能淡出状态栏?
override func viewDidLoad() {
self.view.backgroundColor = UIColor.blackColor()
//Set ImageView
imageView.image = galleryImage
self.setNeedsStatusBarAppearanceUpdate()
}
override func preferredStatusBarUpdateAnimation() -> UIStatusBarAnimation {
return UIStatusBarAnimation.Fade
}
override func prefersStatusBarHidden() -> Bool {
return true
}
在您的 info.plist
中添加名为 View controller-based status bar appearance
的行并将其设置为 NO
。
然后在viewDidload
中调用下面的代码应该会隐藏动画:
UIApplication.sharedApplication().statusBarHidden = true
之后,您将在控制台中收到如下警告:
CGContextSaveGState: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.
忽略它,因为他们说它是 apple 的一个错误,参考这里:
我正在尝试实现与您在 facebook 中显示状态栏逐渐消失的图片时相同的效果。我在下面尝试过,但似乎什么也没发生,我该怎么做才能淡出状态栏?
override func viewDidLoad() {
self.view.backgroundColor = UIColor.blackColor()
//Set ImageView
imageView.image = galleryImage
self.setNeedsStatusBarAppearanceUpdate()
}
override func preferredStatusBarUpdateAnimation() -> UIStatusBarAnimation {
return UIStatusBarAnimation.Fade
}
override func prefersStatusBarHidden() -> Bool {
return true
}
在您的 info.plist
中添加名为 View controller-based status bar appearance
的行并将其设置为 NO
。
然后在viewDidload
中调用下面的代码应该会隐藏动画:
UIApplication.sharedApplication().statusBarHidden = true
之后,您将在控制台中收到如下警告:
CGContextSaveGState: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.
忽略它,因为他们说它是 apple 的一个错误,参考这里: