【问题标题】:Change view class on a tabbarcontroller更改标签栏控制器上的视图类
【发布时间】:2011-08-30 21:39:22
【问题描述】:

我有一个 tabbarcontroller 设置为主控制器,它的视图是使用界面生成器配置的。现在,以编程方式,我想更改默认类视图。如何做呢?例如,一个选项卡视图是从 class1 设置的,我想从 class2 设置它。谢谢。

【问题讨论】:

    标签: iphone objective-c cocoa-touch uitabbarcontroller


    【解决方案1】:

    我不确定这是否是您的意思,但是要以编程方式将不同的视图控制器分配给 tabbarcontroller,您可以使用:

    UIViewController *viewController1 = [[FirstTab alloc] initWithNibName:@"FirstTab" bundle:NSBundle.mainBundle];
        UINavigationController *firstNavController = [[UINavigationController alloc]initWithRootViewController:viewController1];
        UIViewController *viewController2 = [[SecondTab alloc] initWithNibName:@"SecondTab" bundle:NSBundle.mainBundle];
        UINavigationController *secondNavController = [[UINavigationController alloc]initWithRootViewController:viewController2];
        myTabBarController = [[UITabBarController alloc] init];
        myTabBarController.viewControllers = [NSArray arrayWithObjects:firstNavController, secondNavController, nil];
    

    【讨论】:

    • 在您的示例名称之后,FirstTab 和 SecondTab 会生成警报(“找不到方法分配”),并且在运行崩溃时返回 Sigabrt 错误。 FirstTab 和 SecondTab 在 .h 中定义,并在 xib 中设置了 IBOutlet。我究竟做错了什么??谢谢
    • 您当然需要导入 FirstTab.h 和 SecondTab.h - 它们是单独的类/视图控制器。顺便说一句 - 你不需要在这里使用 IB - 这是一个完全编程的解决方案。
    【解决方案2】:

    我会添加和删除标签栏项目,而不是更改单个项目的视图控制器。

    可能没有动画。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-09
      • 1970-01-01
      • 2016-12-17
      • 2017-08-23
      • 1970-01-01
      • 1970-01-01
      • 2014-04-24
      • 1970-01-01
      相关资源
      最近更新 更多