ios – 如何自定义UIPrintInteractionController的外观

苹果蓝色不符合我的应用程序颜色,所以打印对话框非常震撼.

在我的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没有色彩的色彩属性,我认为它只是使用背景颜色.

相关文章

当我们远离最新的 iOS 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...