我想在以后从AppDelegate.m中禁用并启用UITabbarItem。 (具体来说,应在didFinishLaunchingWithOptions上将其禁用,并在NSURLConnection之后应将其启用。我已经尝试在First View Controller中创建一个外部方法并从Delegate调用它,但是它不起作用。这是我的尝试:

FirstViewController.m:

-(void)enableDataTab {

[[[[self.tabBarController tabBar] items] objectAtIndex:1] setEnabled:YES];

}


AppDelegate.m:

    homeVC = [[FirstViewController alloc] init];
    [homeVC disableDataTab];

最佳答案

这样(在视图控制器中):

self.tabBarItem.enabled = NO;


或这样(在应用程序委托中):

myFirstViewController.tabBarItem.enabled = NO;


代表视图控制器的选项卡栏项目是该视图控制器的属性。

另外,不要说

homeVC = [[FirstViewController alloc] init];


这样就构成了一个全新的FirstViewController。您不需要新的FirstViewController;您想要一个已经作为选项卡栏控制器的子控件存在的控件。

关于ios - iOS-从AppDelegate禁用UITabbarItem,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20924891/

10-10 21:12