0

私は新しい問題に直面しています。

アプリケーションにカスタム ナビゲーション コントローラーがあります。ナビゲーションバーに画像を追加する必要があり、AppDelegate でこのコードを使用しました。

@implementation UINavigationBar (CustomImage)
- (void)drawRect:(CGRect)rect {
UIImage *image = [UIImage imageNamed: @"top-red.png"];
[image drawInRect:CGRectMake(0, 0, self.frame.size.width, 44)];
}
@end.

このコードはうまく機能していますが、アプリケーションで MFMailComposer を使用してボタン イベントで呼び出すと、MFMailcomposer のナビゲーション バーも変更したくないカスタム ナビゲーション バーに変更されていることがわかります。

何か案は!!!

4

1 に答える 1

3

UINavigationBarにカテゴリを追加すると、UINavigationBarのすべてのインスタンスにメソッドが追加されます。

オーバーライドdrawRect:しているので、ナビゲーションバーがそれ自体を描画したいときはいつでも、標準ではなくメソッドを使用していることを意味ますdrawRect:

これを行うのではなく、ここで行ったように画像をグローバルに変更するのではなく、必要な場所のナビゲーションバーに画像を追加する必要があります。

于 2011-12-29T12:26:38.160 に答える