2016-08-16 74 views
0

我使用UINavigationControllerinitWithNavigationBarClass:toolbarClass:initWithNavigationBarClass和UINavigationBar的初始化方法

與自定義導航欄MyCustomNavigationBar初始化實例UINavigationController

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

我希望做的MyCustomNavigationBar一些設置在它的initalizer -

例如

// MyCustomNavigationBar.m 

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

init永遠不會被調用。有任何想法嗎?

+0

看到這個http://stackoverflow.com/a/8198873/4003548 .. – vaibhav

回答

0

init從未在上面的代碼中調用,因爲它是不是「指定初始化」

- initWithFrame:「指定初始化」

因此定製setUp應該在這裏完成:

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