我有一个 UITableViewController,例如 NewsfeedController 并具有用于设置/获取的综合属性。
NewsfeedController* vc = [[NewsfeedController alloc] init];
vc.tagId = 10;
[self.tabBarController setSelectedViewController:vc];
显示错误: [UITabBarController setSelectedViewController:] 只能选择选项卡栏 Controller 的 View Controller 列表中的 View Controller 。'
我在 UITabBarController setSelectedViewController: only a view controller in the tab bar controller's list of view controllers can be selected 中看到,它说“删除您传递的 View Controller 数组的合成”。
你能给出完整的代码如何实现吗?我需要的是,我想切换到其他选项卡并传递变量,以便在 NewsfeedController 中可以使用变量。如果我使用 [self.tabBarController setSelectedIndex:0] 它可以更改选项卡,但我如何传递变量并触发刷新/重新初始化 View ?
如果可能,如果使用 setSelectedViewController,它是否可以更改为未在所有选项卡 Controller 项目中列出的 View 。 (例如,在 UITab 中,选项卡是:tab1、tab2、tab3。但我想更改为 tab4)。
最佳答案
您需要获取对标签栏 Controller 中已有的 NewsFeedController
的引用,而不是创建新实例(这是您对发布的代码所做的)。您可以从选项卡栏 Controller 的 viewControllers
属性中获取该引用。因此,例如,如果 NewsFeedController
在第二个选项卡(索引 1 处的选项卡)中,您可以这样做,
NewsfeedController* vc = self.tabBarController.viewControllers[1];
关于ios - UITabBarController setSelectedViewController 在标签栏 Controller 的 View Controller 列表中只能选择一个 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30696886/