Ответ 1
Я просто скачал приложение, чтобы убедиться. Используются две различные панели навигации. Вы можете увидеть это, используя интерактивный поп-жест. Обратите внимание, что панель навигации на контроллере нижнего обзора перемещается и вынимается. Во время обычных переходов push и pop, навигационные элементы просто исчезают и выходят на существующий бар, в то время как планка неподвижна. Это происходит до тех пор, пока не будет нажат текущий контроллер воспроизведения.
Если вы посмотрите быстро, во время анимации контроллера текущего воспроизведения вы увидите, что нижняя панель навигации исчезает.
Из моего опыта работы с UIKit и того, что я вижу в приложении, вот что я думаю:
album_vc
= нижний, контроллер списка
nowplaying_vc
= контроллер верхнего уровня
-
Вкл
nowplaying_vc
viewWillAppear:
- Установите навигационную панель в скрытую с помощью
[self.navigationController setNavigationBarHidden:YES animated:YES];
. Поскольку это в блоке анимации, это приведет к тому, что навигационная панель будет выдвигаться во время анимации push. - Установить
[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;
Довольно уверен в этом, потому что уведомление об отсутствии анимации при переходе стилей строки состояния. Он просто становится белым.
- Установите навигационную панель в скрытую с помощью
-
Вкл
nowplaying_vc
viewWillDisappear:
- Настройте навигационную панель, показанную с помощью
[self.navigationController setNavigationBarHidden:NO animated:YES];
. Поскольку это в блоке анимации, это заставит навигационную панель скользить во время поп-анимации. - Установить
[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleDefault;
Снова обратите внимание на то, что во время интерактивного пота жест, строка состояния просто изменяется без анимации.
- Настройте навигационную панель, показанную с помощью
Чтобы получить прозрачный вид панели навигации nowplaying_vc
, вы можете использовать пустое изображение ([UIImage alloc]
) с setBackgroundImage:forBarPosition:barMetrics:
.
Поскольку приложение не вращается, мы не можем быть уверены, что панель навигации на nowplaying_vc
является частью другого навигационного контроллера или просто панель навигации сверху с позицией UIBarPositionTopAttached
. Насколько нам известно, в нем нет даже навигационной панели, а просто вид изображения назад на шеврон (кнопка задней панели состоит из изображения и кнопки).
Я думаю, что стиль строки статуса изменен в viewWillAppear:
и viewWillDisappear:
из-за неестественного ощущения, которое есть во время интерактивного пота. Я бы рекомендовал использовать анимированный переход или даже лучше использовать новый стиль строки состояния на основе контроллера, который система сама анимирует переходы.