0

UINavigationBarの外観を次の行で設定しました。

UIImage *navigationBarBackground = [UIImage imageNamed:@"HeaderNavBar.png"];
[[UINavigationBar appearance] setBackgroundImage:navigationBarBackground forBarMetrics:UIBarMetricsDefault];

次の行で削除します。

[[UINavigationBar appearance] setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault];

これは、iOS 5.1を除くすべてのiOSで機能します...誰かが理由を知っていますか?!

4

2 に答える 2

0

「ビューの内容が変更された場合、それらの変更を直接再描画しません。代わりに、setNeedsDisplay または setNeedsDisplayInRect: メソッドを使用してビューを無効にします。」(プログラミング ガイドを見る)。ビューを再描画した後、まだその問題がありますか?

参照: UIView クラスリファレンス: setNeedsDisplay

于 2013-02-12T15:36:16.810 に答える
0
[[UINavigationBar appearanceWhenContainedIn:[self class], nil] setBackgroundImage:navigationBarBackground forBarMetrics:UIBarMetricsDefault];

その後:

[[UINavigationBar appearanceWhenContainedIn:[self class], nil] setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault];

ここがおすすめです

于 2016-02-17T17:22:29.283 に答える