自定义元素

时间:2013-08-16 05:54:14

标签: ios cocoa-touch uinavigationbar

我正在努力学习创建自定义元素。我开始使用导航栏,我只是想为红色导航栏创建一个类。

我创建了一个扩展UINavigationBar并在其中包含此代码的类:

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        self.barStyle = UIBarStyleBlackTranslucent;
        self.tintColor = [UIColor redColor];
    }
    return self;            
}

所以让我们在我的场景中看到我有一个观点。我添加了一个带有界面构建器的导航栏,并将其类设置为使用上面的新类。但是颜色没有改变。我做错了什么?

1 个答案:

答案 0 :(得分:1)

必须在drawRect函数中进行修改。例如,我最终做的是:

- (void)drawRect:(CGRect)rect
{
    UIColor *color = [UIColor redColor];
    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextSetFillColor(context, CGColorGetComponents( [color CGColor]));
    CGContextFillRect(context, rect);
    self.tintColor = color;
}