2012-05-15 15 views
13

Il colore blu mela non corrisponde ai colori della mia app in modo che la finestra di dialogo di stampa sia molto disturbata.Come personalizzare l'aspetto di UIPrintInteractionController

Nella mia app per iPhone sono in grado di ottenere la barra di navigazione ei colori di sfondo appropriati con il seguente codice UIPrintInteractionControllerDelegate.

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

Il problema è che utilizzo una classe UIPrintPageRenderer per il rendering della mia pagina. Questo sembra attivare una schermata che si apre dopo che il lavoro di stampa è stato inviato. Ha una barra di navigazione con un pulsante Fine e un messaggio sotto "invio alla stampante". Presumo che sia così puoi vedere più pagine inviate (ne ho solo una). Questo si apre dopo che la finestra di dialogo delle opzioni è scomparsa e sei tornato alla schermata originale dove hai iniziato tutto.

La schermata "Invio alla stampante" è blu e brutta al massimo. Esiste comunque la possibilità di eliminarlo o di personalizzarne l'aspetto? "

+0

strano, il mio si presenta bianco senza codice aggiuntivo – anders

risposta

2

Non conosco il tuo codice completo, ma puoi provare il protocollo dell'aspetto, che essenzialmente ti consente di impostare il colore universale (o altra proprietà) di una particolare interfaccia utente elementi come pulsanti e barre Così si potrebbe, per impostare il colore della barra di navigazione del controller di stampa di sfondo, utilizzare il seguente codice:.

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

che renderebbe tutte le barre di navigazione nella tua app, tra cui il controller di navigazione di stampa di, per essere rossi, in seguito puoi cambiare quelli che non vuoi essere rossi impostando l'aspetto della loro barra (es. self.navigationController.navigationBar.tintColor).

A proposito, questo funziona per iOS 7, iOS 6 non ha la proprietà del colore tinta, penso che invece usi solo il colore di sfondo.

+0

Grazie, questo lavoro per me. – Pavel

Problemi correlati