2015-12-08 5 views
1

Когда я запускаю свое приложение, вы можете видеть, что навигационная панель анимируется очень быстро, кажется, что я только поймаю конец. Анимация также кажется, что она скользит вниз. Я не написал для этого кода. Вот почему это странно!Навигационная панель анимации. ЗАЧЕМ. WEIRD

Вот и странная вещь. В info.plist, если я установил «Просмотр строки состояния на основе контроллера» на «НЕТ», это НЕ произойдет. Это происходит, когда я устанавливаю его в «ДА»!

Я хочу, чтобы «View контроллера на основе строки состояния внешнего вида» должен быть установлен в «YES», потому что я хочу, чтобы иметь возможность отключить его на конкретных контроллерах просмотреть с помощью:

override func prefersStatusBarHidden() -> Bool { 
    return true 
} 

Пожалуйста, помогите!

+0

Итак, когда вы есть этот код, когда он оживляет и какие параметры вы задали в раскадровке? – Wain

+0

Вы вызываете -setNeedsStatusBarAppearanceUpdate после внесения изменений? – Andrea

ответ

1

Обратите внимание на View controller-based status bar appearance в файле plist, это означает, что вы определите логику строки состояния внутри вашего приложения.

Вы считаете, что UIStatusBar и UINavigationBar - это то же самое? Определенно нет.

Так вы действуете:

override func prefersStatusBarHidden() -> Bool { 
    return true 
} 

скрывается строка состояния (20px бар с батареей, часы и мобильный).

Если вы хотите изменить это анимация, вы должны использовать:

override func preferredStatusBarUpdateAnimation() -> UIStatusBarAnimation { 
    return .None 
} 

Если вы хотите скрыть UINavigationBar в какой-то вид контроллера, вы должны вызвать внутри вида контроллера:

navigationController?.setNavigationBarHidden(true, animated: false) 
Смежные вопросы