jacobsieradzki jacobsieradzki - 3 months ago 150
Swift Question

setStatusBarHidden(_:withAnimation:) deprecated in iOS 9

I see that in iOS 9

setStatusBarHidden(_:withAnimation:)
is now deprecated and the documentation says to use
[UIViewController prefersStatusBarHidden]
instead but what is the alternative in iOS 9 if I still want to hide the status bar with a slide animation?

Leo Leo
Answer

Refer to preferredStatusBarUpdateAnimation,

Gif

enter image description here

Code

class ViewController: UIViewController {
var isHidden:Bool = false
@IBAction func clicked(sender: AnyObject) {
    isHidden = !isHidden
    UIView.animateWithDuration(0.5) { () -> Void in
        self.setNeedsStatusBarAppearanceUpdate()
    }
}
override func preferredStatusBarUpdateAnimation() -> UIStatusBarAnimation {
    return UIStatusBarAnimation.Slide
}
override func prefersStatusBarHidden() -> Bool {
    return isHidden
}
}