对于我正在构建的应用程序,我的所有视图都在情节提要中完成,并且它使用tabbarcontrolller在不同的视图之间切换。我有一个视图,我想以编程方式添加到这个已经具有三个项目的现有标签栏。如何以编程方式添加此选项卡并使其他选项卡通过情节提要。

更多:我按照您的意思做了,但是当我添加它仍然仅具有三个选项卡而不是添加第四个选项卡时,什么也没有发生,这是我为选项卡栏控制器提供的代码

@interface TheTabBarController ()

@end

@implementation TheTabBarController


- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    UIViewController *viewController = [[CrewsViewController alloc]init];
    NSMutableArray *tempArray = [self.tabBarController.viewControllers mutableCopy];
    [tempArray addObject:viewController];
    self.tabBarController.viewControllers = tempArray;
}

@end

最佳答案

您可以通过在选项卡栏控制器的viewControllers数组中添加一个新控制器来做到这一点。因此,请以适合您的方式来实例化新控制器。标签栏控制器的viewControllers属性是一个不可变的数组,因此您需要从该数组创建一个可变数组,将其添加到控制器,然后将该数组设置为标签栏控制器的viewControllers数组。

UIViewController *newController = [[UIViewController alloc] init]; // or however is appropriate to instantiate your controller
NSMutableArray *tempArray = [self.tabBarController.viewControllers mutableCopy];
[tempArray addObject:newController];
self.tabBarController.viewControllers = tempArray;

关于ios - Tabbarcontroller以编程方式添加选项卡,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24352376/

10-12 00:15
查看更多