我正在努力学习创建自定义元素。我开始使用导航栏,我只是想为红色导航栏创建一个类。
我创建了一个扩展UINavigationBar并在其中包含此代码的类:
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
self.barStyle = UIBarStyleBlackTranslucent;
self.tintColor = [UIColor redColor];
}
return self;
}
所以让我们在我的场景中看到我有一个观点。我添加了一个带有界面构建器的导航栏,并将其类设置为使用上面的新类。但是颜色没有改变。我做错了什么?
答案 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;
}