#ios #uinavigationcontroller #uitoolbar
#iOS #uinavigationcontroller #uitoolbar
Вопрос:
Я показываю полупрозрачную UIToolbar в качестве подвида UIViewController, который является дочерним элементом UINavigationController (я не использую панель инструментов UINavigationController, поскольку хочу ее подклассировать).
Все работает нормально, но есть одна вещь: когда я помещаю другой UIViewController в стек UINavigationController, следующие края UIViewController не расширяются за панель навигации, пока анимация не закончится. Та же проблема возникает при запуске всплывающей анимации следующего UIViewController.
Примечания сбоку:
- Панель навигации полупрозрачна (по умолчанию)
- Оба UIViewControllers настроены на расширение краев под верхней и нижней панелями
- Проблема не воспроизводима, если UIToolbar не полупрозрачен (или если задан оттенок).
- Та же проблема возникает, если UINavigationController находится внутри UITabBarController: следующие края UIViewController не расширяются под панелью вкладок.
Ее легко воспроизвести на устройствах / симуляторах iOS 12 и iOS 13 без кода, просто редактируя раскадровку.
Есть ли у кого-нибудь какие-либо подсказки относительно того, что для меня похоже на проблему анимации нажатия / всплывания UINavigationController?
Комментарии:
1. Я сталкиваюсь с той же проблемой. Все еще происходит в iOS 15.5. Единственные обходные пути, которые приходят на ум, — это (а) отключить прозрачность для UIToolbar или (б) изменить фон для контроллера pushed view на
.systemBackground
или.systemGroupedBackground
. Ни один из них не достигает желаемого эффекта в полной мере.
Ответ №1:
Комментарии:
1. Потому что вы пропустили полупрозрачную часть UIToolbar
При непрозрачной uitoolbar или вообще без uitoolbar проблема не возникает.
2. Как вы настраиваете полупрозрачную UIToolbar?
3. По умолчанию она полупрозрачная, в противном случае в инспекторе атрибутов UIToolbar в IB установлен специальный флажок.
4. Да, тогда она полупрозрачна по умолчанию и для меня. И я не сталкивался с этой проблемой.
5. В вашем GIF-файле нет UIToolbar, вы внимательно прочитали описание? В моем GIF вы можете видеть панель UIToolbar посередине. Проблема возникает из-за полупрозрачной панели UIToolbar.