Swift 3 скрывает строку состояния после инициализации ViewController

У меня есть подкласс UIViewcontroller со следующими свойствами:

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

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

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

Изменить: это не дубликат других вопросов о скрытии строки состояния, поскольку он включает в себя переопределение свойства и вычисление для определения свойства после того, как контроллер представления уже был представлен.


person Fred Faust    schedule 24.01.2017    source источник
comment
Возможный дубликат Скрытие строки состояния iOS 7   -  person brimstone    schedule 25.01.2017
comment
@brimstone, это не дубликат, свойства, о которых идет речь, даже не существовали в iOS 7.   -  person Fred Faust    schedule 25.01.2017


Ответы (1)


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

person Connor Neville    schedule 24.01.2017