我用来在我的应用程序中设置所有 s 的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
。
第二个想法是将 navigationBar 的 backgroundImage 设置为 nil UIPrintInteractionController
,例如当它被初始化时,或者在它显示之前(在委托方法中)。但是UIPrintInteractionController
没有公共方法来获取它的 navigationBar,而且它继承自NSObject
.
有没有办法摆脱导航栏中的背景图像UIPrintInteractionController
?