【问题标题】:initWithNavigationBarClass and UINavigationBar init methodsinitWithNavigationBarClass 和 UINavigationBar 初始化方法
【发布时间】:2016-12-22 20:32:54
【问题描述】:

我正在使用UINavigationControllerinitWithNavigationBarClass:toolbarClass:

使用自定义导航栏MyCustomNavigationBar 初始化实例UINavigationController

[super initWithNavigationBarClass:[MyCustomNavigationBar class]
toolbarClass:nil];

我希望在它的初始化程序中设置MyCustomNavigationBar -

例如

//  MyCustomNavigationBar.m

- (instancetype)init {
    self = [super init];
    if (self) {
        [self setUp];
    }
    return self;
}

但是init 永远不会被调用。有什么想法吗?

【问题讨论】:

标签: ios objective-c initialization init alloc


【解决方案1】:

init 在上面的代码中从未被调用,因为它不是 "Designated Initializer"

- initWithFrame:“指定初始化器”

因此自定义setUp应该在这里完成:

  - (instancetype)initWithFrame:(CGRect)frame
    {
        self = [super initWithFrame:frame];
        if (self) {
            [self setUp];
        }
        return self;
    }

【讨论】:

    猜你喜欢
    • 2016-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多