UIToolbar子类化不起作用

问题描述:

我想要子类化一个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// 
} 

如果您使用的是故事板,你也应该实现initWithCoder:

加载故事板时,使用解码器创建故事板中定义的对象。 initWithCoder:来自NSCoding协议,并且是类从编码器反序列化的方式。你可以详细阅读here

如果您希望同时支持笔尖和故事板,您可以在视图awakeFromNib中实现可用的方法。

+0

好吧,但这是为什么uitoolbar背景图像代码不会被调用? –

+1

@DanielRanLehmann是的。 –

+0

它的工作......感谢您的回应;) –