UISplitViewController, встроенный в UITabBarController, ведет себя странно в iOS 14

Как следует из названия, у меня есть UISplitViewController, встроенный в UITabBarController, и я установил для свойства displayMode UISplitViewController значение allVisible. Но в горизонтальном обычном интерфейсе в iOS 14 UISplitViewController отображает только один контроллер представления. Все идет нормально в Xcode 12 beta 2, но не в Xcode 12 beta 3 и beta 4.

Снимок экрана выполняется в Xcode 12 beta 3 и beta 4
Снимок экрана работает на Xcode 12 beta 2


person huforrest    schedule 07.08.2020    source источник
comment
Добавьте скриншоты или код для лучшего понимания...   -  person Ashish Kakkad    schedule 07.08.2020


Ответы (1)


Я сообщил об этом Apple пару недель назад в Feedback Assistant, и резолюция без каких-либо дополнительных комментариев заключалась в том, что это предполагаемое поведение. Основываясь на замечаниях в нескольких видеороликах WWDC20, я могу только догадываться, что это их способ заставить как можно больше приложений использовать боковые панели вместо панелей вкладок для корневой навигации.

Чтобы обойти эту проблему на iOS 14, вы можете:

  • измените свой пользовательский интерфейс, чтобы использовать боковую панель вместо панели вкладок, или

  • продолжайте использовать классические (то есть до iOS 14) разделенные представления вместо новых основанных на столбцах, что делается путем инициализации контроллера разделенного представления любым инициализатором, кроме init(style:). Это означает, конечно, что вы не сможете использовать какой-либо новый API разделенного представления.

person halleygen    schedule 03.09.2020