3

カテゴリを使用してナビゲーション バーをカスタマイズしています。私のコードは次のとおりです。

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

うまく機能しますが、iOS 5 では機能しません。ナビゲーション バーの色をグラデーションなしで単色にする必要があります。どうすればいいですか?

私が知っているように、iOS 5 の場合、メソッドを置き換える唯一のdrawRect方法はサブクラスを作成することですが、すべてのナビゲーション コントローラーをUINavigationBar元のクラスの代わりにサブクラスを使用するようにする方法はありますか?

4

3 に答える 3

1

これは、iOS 5 と iOS 4.3 以前の両方を対象としています。

https://gist.github.com/1774444

于 2012-06-19T14:14:44.670 に答える