2013-12-12 5 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

Благодаря она работала. Но контроллер печати охватывает весь вид, мне нужно поддерживать контроллер печати как popover. – Hokage

+2

Мне нужно создать popover с контроллером навигации в качестве контроллера контента. Затем верните контроллер навигации в делегат 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]}]; 
} 
Смежные вопросы