2017-01-24 9 views
0

У меня есть UIViewController подкласс со следующими свойствами:Swift 3 скрыть строку состояния после ViewController инициализации

override var preferredStatusBarUpdateAnimation: UIStatusBarAnimation { 
     return .slide 
    } 
    override var preferredStatusBarStyle: UIStatusBarStyle { 
     return .lightContent 
    } 
    override var prefersStatusBarHidden: Bool { 
     return false 
    } 

И хотел бы изменить preferStatusBarHidden истины на основе вызовов методы, после того, как вид контроллер инициализации. Я не могу изменить его на true (только для этого).

Я думаю, что я что-то глупое здесь не хватаю ...

Edit: Это не дубликат от других строки состояния шкуры вопросов, потому что она включает в себя переопределение свойства и вычисление для определения свойства после того, как контроллер вида уже представлен.

+0

Возможный дубликат [Скрытие строки состояния iOS 7] (http://stackoverflow.com/questions/18971496/hiding-status-bar-ios-7) – brimstone

+0

@brimstone это не дубликат, свойства в вопросе даже не существует в iOS 7. –

ответ

1

Добавьте свою логику, когда строка состояния должна быть скрыта внутри получателя для prefersStatusBarHidden (где у вас только есть return false). Затем, когда вам нужно вызвать обновление, позвоните по номеру setNeedsStatusBarAppearanceUpdate().

+0

простой как пирог !, спасибо! –