苹果蓝与我的app颜色不匹配,因此打印对话框非常刺耳.
在我的iPhone应用程序中,我可以使用以下UIPrintInteractionControllerDelegate代码获得正确的导航栏和背景颜色.
- (UIViewController *)printInteractionControllerParentViewController: (UIPrintInteractionController *)printInteractionController
{
return self.navigationController;
}
- (void)printInteractionControllerDidPresentPrinterOptions:(UIPrintInteractionController *)printInteractionController
{
self.navigationController.topViewController.view.backgroundColor = [UIColor whiteColor];
}
Run Code Online (Sandbox Code Playgroud)
问题是我使用自定义UIPrintPageRenderer类来呈现我的页面.这似乎触发了在发送打印作业后弹出的屏幕.它有一个导航栏,带有完成按钮,下面有一条消息说"发送到打印机".我认为这是因为你可以看到多个页面被发送(我只有一个).在选项对话框消失后弹出,并且您已返回到原始屏幕,您启动了所有内容.
"发送到打印机"屏幕是蓝色的,最大的丑陋.无论如何要消除它或定制它的外观?"
我不知道你的完整代码,但你可以尝试外观协议。这本质上允许您设置特定 UI 元素(如按钮和栏)的通用颜色(或其他属性)。因此,您可以使用以下代码设置打印控制器导航栏的背景颜色:
[[UINavigationBar appearance] setTintColor:[UIColor redColor]];
Run Code Online (Sandbox Code Playgroud)
这将使应用程序中的所有导航栏(包括打印导航控制器的导航栏)变为红色。然后,您可以稍后通过设置栏的外观(即 self.navigationController.navigationBar.tintColor)来更改您不希望变为红色的栏。
顺便说一句,这适用于iOS 7,iOS 6 没有色调颜色属性,我认为它只是使用背景颜色。
| 归档时间: |
|
| 查看次数: |
2620 次 |
| 最近记录: |