UIAppearance を使用してアプリ全体で UINavigationBar のスタイルを設定する iOS 7 のみのアプリケーションがあります。
AppDelegate に次のコードがあります。
[[UINavigationBar appearance] setBackgroundImage:redImage forBarMetrics:UIBarMetricsDefault];
[[UINavigationBar appearanceWhenContainedIn:[MFMailComposeViewController class], nil] setBackgroundImage:blueImage forBarMetrics:UIBarMetricsDefault];
ただし、MFMailComposeViewController は redImage の背景で表示されます!
ドキュメントには次のように記載されています。
重要: このクラスのビュー階層はプライベートであるため、変更しないでください。ただし、UIAppearance プロトコルを使用して、インスタンスの外観をカスタマイズできます。
redImage
したがって、上記が機能しない理由はなく、とblueImage
が異なる色の画像であることは 100% 確信しています。
他の誰かがこの問題を経験しましたか? iOS 7 のバグだと思いますが、iOS 6 をチェックする時間がありませんでした (これらの結果は iPad 4 を使用して取得しています)。