selectedViewcontroller не работает для tabbarcontroller в tvOS 10

У меня есть rootviewcontroller который расширяется UITabBarController, У него есть несколько детей viewcontrollers,

Все, что я хочу, это программно выбрать 2-й /3-й /.. viewcontroller с первого. Я использовал

`.selectedViewController`, `.selectedIndex`, `.navigationController.tabBarController.tabBar.selectedItem = ...` 

и все вариации на эту тему. Я замечаю следующее при использовании

`tabBarController.selectedViewController = tabBarController.viewControllers?[1]` 

tabBarController отображает 2-й viewcontroller на секунду, но возвращается к 1-му viewcontroller, У меня есть предчувствие, что это двигатель фокуса, но я потерян в этот момент.

2 ответа

Не совсем уверен, связано ли это, но у меня было приложение для tvOS, в котором у меня было несколько UIViewController в UITabBarController, и я перестал иметь возможность выбирать их в панели вкладок, и после перехода на tvOS 10 панель вкладок исчезла.

Оказывается, проблема в том, что на этих экранах не было никаких фокусируемых элементов (кнопок и т. Д.), Поэтому мне пришлось создать объекты подкласса для некоторых видов и сделать canBecomeFocused возвращаемое свойство "true".

см.: Как сделать фокусировку UIView с помощью механизма фокусировки на Apple TV

Вы должны реализовать вторую вещь, чтобы они выглядели сфокусированными, но если вы на самом деле этого не хотите, вы можете пропустить это.

Я устанавливал UITabBarItem для каждого контроллера.

Другие вопросы по тегам