selectedViewcontroller不适用于tvOS 10中的tabbarcontroller

时间:2016-07-15 09:43:12

标签: ios swift uitabbarcontroller tvos focus-engine

我有rootviewcontroller,正在扩展UITabBarController。它有几个孩子viewcontrollers

我想要的只是以编程方式从第一个选择第二/第三/ .. viewcontroller。我用过

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

以及此主题的所有变体。使用

时我注意到以下内容
`tabBarController.selectedViewController = tabBarController.viewControllers?[1]` 

tabBarController会显示第二个viewcontroller一秒,但会回到第一个viewcontroller。我有预感这是焦点引擎,但此时我已经迷失了。

2 个答案:

答案 0 :(得分:2)

不完全确定它是否相关,但我有一个tvOS应用程序,我在UITabBarController中有几个UIViewControllers,我停止能够在标签栏中选择它们,并且一旦我升级到tvOS 10就让标签栏消失。 / p>

原来问题是那些屏幕上没有任何可聚焦元素(按钮等)所以我必须为某些视图创建子类对象并使canBecomeFocused属性返回“true” 。

请参阅:How to make a UIView focusable using the focus engine on Apple TV

你必须实现第二件事,让它们看起来很专注,但如果你真的不想要,你可以跳过它。

答案 1 :(得分:0)

我为每个控制器设置了一个UITabBarItem。