私はほとんどのアプリケーションで静的なUINavigationBarを持っていますが、最後にはビューコントローラ自体のいくつかのプロパティに基づいて背景イメージを動的に設定する必要があるビューコントローラがいくつかあります。UINavigationBarのdrawRectメソッドを動的にオーバーライドする方法は?
私は現在、これを設定しなければならないコードは、動的部分を除いてうまく動作します。実行時にdrawRectメソッドをオーバーライドしてバックグラウンドイメージを動的に設定することは可能ですか?
@implementation UINavigationBar (UINavigationBarCategory)
- (void)drawRect:(CGRect)rect {
UIColor *color = [UIColor blackColor];
UIImage *img = [UIImage imageNamed: @"nav.png"];
[img drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
self.tintColor = color;
}
@end
素晴らしい、ありがとう!私はこのテクニックを使ってバーを通常通り描き、それにテクスチャを与えるために自分自身のアルファパターンを上に置きます。これは、スーパーdrawrectを呼び出す能力を与えるので、これを実現する唯一のテクニックです。 – Chris