2012-06-18 10 views
5

provo a cambiare il colore da un'UIPopoverControler su iOS 5. Per farlo, io uso una sottoclasse di UIPopoverBackgroundView che assegno al mio popover in questo modo:Change UIPopoverController (e colore tasto back)

self.popover.popoverBackgroundViewClass = [KWPopoverBackgroundView class]; 

Il mio popover è ora nero come definito nella mia classe KWPopoverBackgroundView ma ho ancora un problema con l'aspetto. Il pulsante Indietro (Medaglie) del controller di navigazione all'interno del mio popover è ancora blu. Voglio che tutto sia unificato in nero. Come faccio a liberarmi di questo colore blu?

enter image description here

ho provato a cambiare il tintColor della mia navigationController.navigationBar ma naturalmente il popover does'nt cura di questo. C'è un modo per risolvere questo problema in iOS 5.0? (La mia app è su AppStore, non voglio un brutto trucco per risolvere il problema) Grazie.

+0

non funziona in iOS7 – Jacky

risposta

12

Ok, ho appena trovato come modificare il colore della tinta dal pulsante Indietro di UINavigationController (o altri UIBarButtonItems) all'interno di UIPopoverController.

Con UIPopoverBackgroundView è possibile modificare solo le immagini di sfondo e freccia. Per cambiare l'aspetto degli altri elementi devi usare UIA con un aspetto simile al seguente.

// Set the UIBarButtonItem(s) inside UIPopoverController class to dark gray 
[[UIBarButtonItem appearanceWhenContainedIn:[UIPopoverController class], nil] 
         setTintColor:[UIColor colorWithWhite:0.1f alpha:1.0f]]; 

black popover with black back button item

+0

Ho cercato con più parole chiave e stavo per rinunciare e trovare un'immagine da utilizzare da parte di Google di ricerca di immagini. Stranamente, è stata la ricerca di immagini di Google che mi ha portato questa bellissima soluzione. Grazie per aver risposto alla tua stessa domanda con questo! – acedanger