2012-06-04 176 views
0

我有一个的UITabBarController,想添加一个标签,以使其消失的能力。我用XCode添加了2个选项卡。你可以通过程序添加第三个选项卡? 我知道像这样的命令:添加/隐藏UITabBarItem

[self setViewControllers: [NSArray arrayWithObjects: x1, nil] animated: NO]; 

您可以检索使用Xcode中添加第三种观点的阵列? 谢谢


我无法加载视图的代码。我创建从故事板视图控制器,当我尝试从代码加载它,我得到一个黑色的屏幕,使用此代码:

ViewControllerA *x1 = [[ViewControllerA alloc] init]; 
[self setViewControllers:[NSArray arrayWithObjects: x1, nil] animated:NO]; 
+0

[请检查如何隐藏栏按钮] [1] [1]:http://stackoverflow.com/questions/10753233/make-invisible-a-uibarbuttonitem/ 10753376#10753376 – Mani

回答

3

是的,如果你使用[UITabViewController setViewControllers: animated:]您可以在包含前面两个数组添加视图控制器加上新的第三个。

例如,你可能想要做这样的事情:

// assuming you've set an IBOutlet to your tab bar controller 
NSArray * currentSetOfViewControllers = [appTabBarController viewControllers]; 
if((currentSetOfViewControllers == NULL) || [currentSetOfViewControllers count] == 0)) 
{ 
    NSLog(@"I don't see any view controllers; is my tab bar controller outlet set properly?") 
} else { 
    NSMutableArray newSetOfViewControllers = [[NSMutableArray alloc] initWithArray: currentSetOfViewControllers]; 
    if(newSetOfViewControllers) 
    { 
     ViewControllerA *x1 = [[ViewControllerA alloc] init]; 
     if(x1) 
     { 
      [newSetOfViewControllers addObject: x1]; 

      [appTabBarController setViewControllers: newSetOfViewControllers]; 

      // release our alloc'd mutable array only if you do not have ARC turned on 
      [newSetOfViewControllers release]; 
     } 
    } 
} 

你可能也想给你的新视图控制器带有标题和图像相关的标签栏项目。检查出[UITabBarItem initWithTitle: image: tag:]

我已经联系了苹果文档你,我希望能帮助!

+0

.........谢谢! – Antilope

0

创建代表自定义标签栏以便创建视图就像一个标签栏,并设置图1个的图像视图和3按钮(1个按钮组隐藏)添加后,在标签栏控制器此视图当u需要第三按钮使第三个按钮