0

カスタマイズされた要素を作成する方法を学ぼうとしています。私はナビゲーション バーから始めて、単に赤いナビゲーション バーのクラスを作成しようとしています。

UINavigationBar を拡張するクラスを作成し、内部に次のコードを含めます。

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

それでは、私のシーンで私がビューを持っていることを見てみましょう。Interface Builder を使用してナビゲーション バーを追加し、そのクラスを上記の新しいクラスを使用するように設定します。ただし、色は変更されません。私は何を間違っていますか?

4

1 に答える 1

1

変更は drawRect 関数で行う必要があります。たとえば、私がやったことは次のとおりです。

- (void)drawRect:(CGRect)rect
{
    UIColor *color = [UIColor redColor];
    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextSetFillColor(context, CGColorGetComponents( [color CGColor]));
    CGContextFillRect(context, rect);
    self.tintColor = color;
}
于 2013-08-16T06:11:46.000 に答える