UIAppearanceアプリですべての の backgroundImage を設定するために使用しNavigationBarます。
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"background.png"] forBarMetrics:UIBarMetricsDefault];
同時に、UIPrintInteractionController印刷機能を実装するために使用します。
問題は、印刷ダイアログがナビゲーション バーのグローバルな外観設定を使用することです。次のようになります。

このダイアログでは適切ではありません。ここでは背景画像を使用せず、システム ダイアログを使用したいと考えています。
を使用しようとしました
[UINavigationBar appearanceWhenContainedIn:[UIPrintInteractionController class], nil] setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault];
が、次のメッセージが表示されてアプリがクラッシュします: UIPrintInteractionController does not conform to the UIAppearanceContainer protocol。
2 番目のアイデアは、navigationBar の backgroundImage を nil に設定するUIPrintInteractionControllerことでした。たとえば、初期化されるとき、または (デリゲート メソッドで) 表示される前です。ただしUIPrintInteractionController、ナビゲーション バーを取得するためのパブリック メソッドはなく、さらにNSObject.
のナビゲーション バーの背景画像を取り除く方法はありUIPrintInteractionControllerますか?