OGeek|极客世界-中国程序员成长平台

标题: ios - Tabbarcontroller 以编程方式添加选项卡 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 08:17
标题: ios - Tabbarcontroller 以编程方式添加选项卡

对于我正在构建的应用程序,我在 Storyboard 中完成了所有 View ,并且它使用 tabbarcontrolller 在不同 View 之间切换。我有一个 View ,我想以编程方式添加到这个已经存在的标签栏,该标签栏已经有三个项目。如何以编程方式添加此选项卡并让其他选项卡通过 Storyboard 。

更多:我按照你说的做了,但是当我添加它仍然只有三个选项卡而不是添加第四个选项卡时没有发生任何事情,这是我为选项卡栏 Controller 提供的代码

@interface TheTabBarController ()

@end

@implementation TheTabBarController


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

@end



Best Answer-推荐答案


您可以通过向标签栏 Controller 的 viewControllers 数组添加一个新 Controller 来实现此目的。因此,请通过适合您制作 Controller 的方式来实例化新 Controller 。标签栏 Controller 的 viewControllers 属性是一个不可变数组,因此您需要从该数组创建一个可变数组,将您的 Controller 添加到其中,然后将该数组设置为标签栏 Controller 的 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/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://sqlite.in/) Powered by Discuz! X3.4