2012-05-15 15 views
13

El azul de la manzana no coincide con los colores de mi aplicación, por lo que el cuadro de diálogo de impresión es muy discordante.Cómo personalizar la apariencia de UIPrintInteractionController

En mi aplicación para iPhone, puedo obtener la barra de navegación adecuada y los colores de fondo con el siguiente código UIPrintInteractionControllerDelegate.

- (UIViewController *)printInteractionControllerParentViewController: (UIPrintInteractionController *)printInteractionController 
{ 
    return self.navigationController; 
} 
- (void)printInteractionControllerDidPresentPrinterOptions:(UIPrintInteractionController *)printInteractionController 
{ 
    self.navigationController.topViewController.view.backgroundColor = [UIColor whiteColor]; 
} 

El problema es que utilizo una clase UIPrintPageRenderer personalizada para representar mi página. Esto parece activar una pantalla que aparece después de que se ha enviado el trabajo de impresión. Tiene una barra de navegación con un botón Hecho y un mensaje debajo que dice "enviar a la impresora". Supongo que es así para que pueda ver el envío de varias páginas (solo tengo una). Aparece después de que el cuadro de diálogo de opciones se ha ido y usted ha regresado a la pantalla original donde inició todo.

La pantalla "enviar a la impresora" es azul y fea al máximo. ¿Hay alguna forma de eliminarlo o personalizar su apariencia? "

+0

raro, el mío aparece en blanco sin código adicional – anders

Respuesta

2

No conozco el código completo, pero podría probar el protocolo de apariencia. Esto esencialmente le permite establecer el color universal (u otra propiedad) de una IU particular elementos como botones y barras por lo que podría, para establecer el color de fondo de la barra de navegación del controlador de impresión, utilice el siguiente código:.

[[UINavigationBar appearance] setTintColor:[UIColor redColor]]; 

Eso haría que todas las barras de navegación en su aplicación, incluyendo el control de navegación de impresión de, para ser rojo. Luego puede cambiar los que no desea que sean rojos estableciendo la apariencia de su barra (es decir, self.navigationController.navigationBar.tintColor).

Por cierto, esto funciona para iOS 7, iOS 6 no tiene la propiedad del color del tinte, creo que en su lugar solo utiliza el color de fondo.

+0

Gracias, este trabajo para mí. – Pavel

Cuestiones relacionadas