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
ますか?