0

我有一个rootviewcontroller正在扩展的UITabBarController. 它有几个孩子viewcontrollers

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

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

以及这个主题的所有变体。我在使用时注意到以下内容

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

显示tabBarController2ndviewcontroller一秒钟,但又回到 1st viewcontroller。我有一种预感,这是焦点引擎,但我现在迷路了。

4

2 回答 2

4

不完全确定它是否相关,但我有一个 tvOS 应用程序,其中我在 UITabBarController 中有几个 UIViewControllers,并且我无法在标签栏中选择它们,并且一旦我升级到 tvOS 10,标签栏就会消失。

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

请参阅:如何使用 Apple TV 上的焦点引擎使 UIView 可聚焦

您必须实施第二件事以使它们显得专注,但如果您实际上不希望这样做,则可以跳过它。

于 2016-09-15T15:43:59.993 回答
0

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

于 2016-07-15T10:46:56.447 回答