我的主窗口上有一个标签栏。每个单独的选项卡项都有自己的视图。如何从其他标签项视图中启用/禁用其他标签项?
答案 0 :(得分:5)
只能使用 tabBarController 中的视图控制器访问 tabBarItems 。使用以下代码从任何视图控制器中禁用 tabBarItem 1 。
UIViewController *vc_1;
vc_1 = [self.tabBarController.viewControllers objectAtIndex:1];
[vc_1 tabBarItem].enabled = NO;
答案 1 :(得分:0)
我想你想要改变你在其他标签中拥有的对象的设置。您可以使用NSUserDefaults或将值传递到您想要更改设置的视图来实现此目的。 考虑一个示例,其中您想要从当前选项卡视图中禁用另一个选项卡中的按钮。只需将NSUserDefaults设置为某个值并将其分配给键即可。您可以使用NSUserDefaults再次访问另一个视图中为特定键设置的值u。您可以检查该值是否是您在其他选项卡视图的viewWillAppear方法中设置的值。根据该条件,您可以启用或禁用控件。希望这会有所帮助。
答案 2 :(得分:0)
self.tabBarController
这为您提供了viewcontroller所在的tabbar控制器。从那里你可以访问其他视图控制器,标签等等。