我有rootviewcontroller
,正在扩展UITabBarController
。它有几个孩子viewcontrollers
。
我想要的只是以编程方式从第一个选择第二/第三/ .. viewcontroller
。我用过
`.selectedViewController`, `.selectedIndex`, `.navigationController.tabBarController.tabBar.selectedItem = ...`
以及此主题的所有变体。使用
时我注意到以下内容`tabBarController.selectedViewController = tabBarController.viewControllers?[1]`
tabBarController
会显示第二个viewcontroller
一秒,但会回到第一个viewcontroller
。我有预感这是焦点引擎,但此时我已经迷失了。
答案 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。