ios - Tabbarcontroller 以编程方式添加选项卡

标签 ios uitabbarcontroller

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

更多:我按照你说的做了,但当我添加它仍然只有三个选项卡而不是添加第四个选项卡时,什么也没发生,这里是我为选项卡栏 Controller 编写的代码

@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

最佳答案

您可以通过将新 Controller 添加到选项卡栏 Controller 的 viewControllers 数组来实现此目的。因此,请通过适合您制作 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/

相关文章:

ios - PWA 重定向到登录页面并陷入 2FA 循环

ios - 在 StoryBoard 的 TabController 内部使用 Navigation。

ios - 在 IB 中使用 "Hides Bottom Bar When Pushed"推送查看时,UITableView 顶部的黑条闪烁

ios - 使用新的基于 token 的身份验证进行 VoIP 推送?

ios - Reactivecocoa绑定(bind)UIButton的标题

objective-c - FB 请求输出在 iOS 中不起作用

objective-c - 应该有一个非空的返回值来指示是否发生错误

ios - 导航 Controller 内的选项卡栏实现

ios - 点击禁用的 TabBarItem

iphone - TableView 警报不显示