Я пытаюсь скопировать переход на push/pop из приложения IOS Music с полупрозрачного на прозрачный UINavigationBar, сохраняя при этом элементы UIBarButtonItems. Поскольку панель навигации не перемещается сама по себе, я считаю, что вам нужно настроить UINavigationBar прозрачно для обоих UIViewControllers и добавить subview в UIViewController под прозрачным UINavigationBar, чтобы имитировать полупрозрачный UINavigationBar. Любые решения для этой проблемы?Переход на прозрачный UINavigationBar (Apple Music, как панель навигации)
ответ
ваших данных контроллер поместить этот код
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
guard self.navigationController?.topViewController === self else {return}
self.transitionCoordinator()?.animateAlongsideTransition({ [weak self](context) in
self?.navigationController?.navigationBar.setBackgroundImage(UIImage(), forBarMetrics: .Default)
self?.navigationController?.navigationBar.setBackgroundImage(UIImage(), forBarMetrics: .Default)
}, completion: { context in
})
}
override func viewWillDisappear(animated: Bool) {
super.viewWillDisappear(animated)
guard self.navigationController?.topViewController === self else {return}
self.transitionCoordinator()?.animateAlongsideTransition({ [weak self](context) in
self?.navigationController?.navigationBar.setBackgroundImage(nil, forBarMetrics: UIBarMetrics.Default)
self?.navigationController?.navigationBar.setBackgroundImage(nil, forBarMetrics: .Default)
}, completion: { context in
})
}
Это почти идеально, вместо двух вызовов функции 'setBackgroundImage' должно быть свойство' shadowImage', в котором я устанавливаю его в новый 'UIImage()' вместо nil. Кроме того, инструкции охраны не кажутся мне нужными, но не уверены, имеет ли значение значение –
. Обратите внимание, что для этого свойство 'edgeForExtendedLayout' на вашем представлении контроллера представления не должно включать верхний край (то есть край соответствующий навигационной панели). В противном случае ваш расширенный контент будет отображаться через панель навигации, когда он станет прозрачным во время перехода. Если вы используете представление таблицы или коллекции, вам может потребоваться прокрутка вниз, прежде чем вы увидите, что это произойдет. Чтобы сохранить «edgeForExtendedLayout», вам нужно создать панель навигации для замедлителя или попробовать решение, подобное [TFTransparentNavigationBar] (https://github.com/thefuntasty/TFTransparentNavigationBar). – jamesk
- 1. панель навигации прозрачный вопрос
- 2. Как достичь анимации UINavigationBar при прокрутке в приложении iOS Music?
- 3. Прозрачный UITextField через панель навигации
- 4. Переход цвета UINavigationBar?
- 5. Прозрачный UINavigationBar
- 6. UISlider как Apple Music
- 7. Прозрачный UINavigationBar
- 8. Прозрачный UINavigationBar в Swift
- 9. UINavigationBar накладывается на панель состояния ios7
- 10. Изменение UINavigationBar на прозрачный цвет
- 11. не отображается панель навигации
- 12. Создайте Silver UITabbar, как приложение Apple Music?
- 13. Прозрачный UINavigationBar без границ
- 14. Apple Music доступ
- 15. Прозрачный UINavigationBar, но с размытием
- 16. Новости Apple приложение прокрутки кнопки в UINavigationBar
- 17. добавить панель навигации программно к tableviewController (переход толкающего или модального)
- 18. UINavigationBar полупрозрачный удаляет изображение, которое добавляется на панель навигации
- 19. Прозрачный UINavigationBar в UITableViewController в прошивке 8
- 20. Apple Music Следующий слайд Анимация
- 21. Как добавить несколько кнопок на панель навигации
- 22. UINavigationBar не отображается на второй ViewController на Apple TV
- 23. Стандартная панель навигации Цвет
- 24. Apple Music detect является членом
- 25. Экран выбора жанра Apple Music
- 26. Схема URL-адреса Apple Music
- 27. Пользовательская панель навигации на iOS5
- 28. MPMediaItemPropertyArtwork пустой с Apple Music
- 29. Увядание цветов UISegmentedControl, таких как Apple Music
- 30. Размерная панель навигации (UITextField)
efremidze, как вы в конечном итоге реализации это? – SAHM
Я использую эту библиотеку: https://github.com/MoZhouqi/KMNavigationBarTransition – efremidze