如何从视图中访问tabbar对象

时间:2011-07-19 13:26:39

标签: iphone objective-c ios uitabbarcontroller

我的主窗口上有一个标签栏。每个单独的选项卡项都有自己的视图。如何从其他标签项视图中启用/禁用其他标签项?

3 个答案:

答案 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)

您可以在viewcontroller中执行以下操作:

self.tabBarController

这为您提供了viewcontroller所在的tabbar控制器。从那里你可以访问其他视图控制器,标签等等。