【问题标题】:Hiding a statusbar in specifc viewcontroller在特定视图控制器中隐藏状态栏
【发布时间】:2015-10-03 17:32:54
【问题描述】:

我正在尝试实现与您在 facebook 中显示状态栏消失的图片时相同的效果。我在下面尝试过,但似乎没有任何反应,我该怎么做才能使 statusBar 淡出?

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
}

【问题讨论】:

    标签: ios swift statusbar


    【解决方案1】:

    在您的 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.
    

    请忽略它,因为他们说这是来自苹果的错误,请参见此处: How can I set CG_CONTEXT_SHOW_BACKTRACE environmental variable?

    【讨论】:

    • 第一种方法似乎不起作用? second 在 ios 9 中已弃用
    • 我已在上面添加到 viewController,但仍显示状态栏。我已经添加了我在问题中所做的事情
    猜你喜欢
    • 1970-01-01
    • 2015-04-09
    • 1970-01-01
    • 2014-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-23
    • 2016-04-23
    相关资源
    最近更新 更多