2014-01-17 32 views
0

我想要子類化一個UIToolbar,但是當我將該類添加到Interface Builder中的UIToolbar時,代碼似乎不工作。我在這裏做錯了什麼?我也期待添加UIBarbuttonitems等,這僅僅是一個測試例如,丹尼爾UIToolbar子類化不起作用

- (id)initWithFrame:(CGRect)frame 
{ 
    self = [super initWithFrame:frame]; 
    if (self) { 

     //Customization// 
     UIImage *ToolbarBackgroundImage; 
     ToolbarBackgroundImage = [UIImage imageNamed:@"DefaultNavBar"]; 

     [self setBackgroundImage:ToolbarBackgroundImage forToolbarPosition:UIToolbarPositionAny barMetrics:UIBarMetricsDefault]; 

     [self setShadowImage:[[UIImage alloc] init] forToolbarPosition:UIToolbarPositionAny]; 

    } 
    return self; 
} 

-(void)drawRect:(CGRect)rect { 

    //do nothing// 
} 

回答

1

如果您使用的是故事板,你也應該實現initWithCoder:

加載故事板時,使用解碼器創建故事板中定義的對象。 initWithCoder:來自NSCoding協議,並且是類從編碼器反序列化的方式。你可以詳細閱讀here

如果您希望同時支持筆尖和故事板,您可以在視圖awakeFromNib中實現可用的方法。

+0

好吧,但這是爲什麼uitoolbar背景圖像代碼不會被調用? –

+1

@DanielRanLehmann是的。 –

+0

它的工作......感謝您的迴應;) –