苹果蓝色不符合我的应用程序颜色,所以打印对话框非常震撼.
在我的iPhone应用程序中,我可以使用以下UIPrintInteractionControllerDelegate代码获取正确的导航栏和背景颜色.
- (UIViewController *)printInteractionControllerParentViewController: (UIPrintInteractionController *)printInteractionController { return self.navigationController; } - (void)printInteractionControllerDidPresentPrinterOptions:(UIPrintInteractionController *)printInteractionController { self.navigationController.topViewController.view.backgroundColor = [UIColor whiteColor]; }
问题是我使用自定义的UIPrintPageRenderer类来渲染我的页面.这似乎触发了打印作业发送后弹出的屏幕.它有一个导航栏与完成按钮和下面的消息“发送到打印机”的消息.我认为这是你可以看到发送多个页面(我只有一个).在选项对话框已经消失之后弹出,您已经返回到您启动所有内容的原始屏幕.
“发送到打印机”屏幕是蓝色和丑陋的最大.有没有消除它或定制其外观?
解决方法
我不知道你的完整代码,但你可以尝试外观协议.这实际上允许您设置特定UI元素(如按钮和条形)的通用颜色(或其他属性).因此,您可以设置打印控制器导航栏的背景颜色,使用以下代码:
[[UINavigationBar appearance] setTintColor:[UIColor redColor]];
这将使您的应用程序中的所有导航栏(包括打印导航控制器)变为红色.然后,您可以稍后通过设置其栏的外观(即self.navigationController.navigationBar.tintColor)来更改不想变为红色的项.
顺便说一句,这适用于iOS 7,iOS 6没有色彩的色彩属性,我认为它只是使用背景颜色.