【问题标题】:Custom UINavigationController Implementation自定义 UINavigationController 实现
【发布时间】:2011-10-19 13:22:16
【问题描述】:


我的应用中有一个 TabBarController,其中有几个 NavigationController。我已经在界面生成器中简单地制作了所有这些东西。
现在我想实现我的自定义导航控制器,所以我创建了一个类:

#import <UIKit/UIKit.h>

@interface DetailNavigationController : UINavigationController

@end


@implementation DetailNavigationController

- (id)initWithRootViewController:(UIViewController *)rootViewController
{
    self = [super initWithRootViewController:rootViewController];
    if (self) {
        NSLog(@"I work!");
    }

    return self;
}

- (void) dealloc {
    [super dealloc];
}

@end

在界面生成器中,我将这个类作为自定义类添加到我想要的导航控制器中。现在,当我启动应用程序并使用此导航控制器选择选项卡时,它可以工作,但不会调用 initWithRootController。我猜它完全忽略了类并作为默认导航控制器运行。
我是否需要在界面生成器中指定更多内容,还是需要在选项卡委托的某处以编程方式指定此控制器?
谢谢。

【问题讨论】:

    标签: objective-c uinavigationcontroller uitabbarcontroller implementation


    【解决方案1】:

    如果您在界面生成器中创建导航控制器,则需要覆盖initWithCoder:,而不是initWithRootViewController:。 xib 包含对象的实例化版本,根视图控制器已经设置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多