2013-12-12 135 views

回答

5

您可以使用UIPrintInteractionController的委託方法爲它的外觀變化,

- (UIViewController *)printInteractionControllerParentViewController: (UIPrintInteractionController *)printInteractionController 
{ 
    return self.navigationController; 
} 
- (void)printInteractionControllerDidPresentPrinterOptions:(UIPrintInteractionController *)printInteractionController 
{ 
    // self.navigationController.topViewController.navigationController.navigationBar.tintColor=[UIColor redColor]; 
    self.navigationController.navigationBar.tintColor = [UIColor greenColor]; 

    // self.navigationController.topViewController.navigationController.navigationBar.barTintColor=[UIColor purpleColor]; 
    self.navigationController.topViewController.navigationController.navigationBar.tintColor=[UIColor yellowColor]; 
} 
+0

由於它的工作。但是,打印控制器覆蓋整個視圖,我需要將打印控制器保持爲彈出式。 – Hokage

+2

我需要創建一個導航控制器作爲內容控制器的彈出窗口。然後,在委託printInteractionControllerParentViewController中返回導航控制器。 – Hokage

+0

@Allan:嗨,抱歉,延誤,我只是忙於工作,是solv3e oyur問題嗎? –

0
#pragma mark - Print Delegate - 

- (UIViewController *)printInteractionControllerParentViewController:(UIPrintInteractionController *)printInteractionController { 

    return self.navigationController; 
} 

- (void)printInteractionControllerDidPresentPrinterOptions:(UIPrintInteractionController *)printInteractionController { 

[[UIApplication sharedApplication]setStatusBarStyle:UIStatusBarStyleLightContent]; 
    self.navigationController.navigationBar.barTintColor = AppColor; 
    self.navigationController.topViewController.navigationController.navigationBar.tintColor=[UIColor whiteColor]; 

[[UINavigationBar appearance] setTitleTextAttributes: 
    @{NSForegroundColorAttributeName: [UIColor whiteColor]}]; 
}