2015-04-21 13 views
6

iOS utilizza il colore della tinta standard (blu) per tutti i testi colorati in MFMailComposeViewController. Questo non va bene per me, perché il cliente vuole i colori della sua azienda in app. Come cambiare il loro colore in arancione?Come cambiare il colore di MFMailComposeViewController testi e immagini dei pulsanti?

Sto chiedendo in particolare i colori delle icone dei pulsanti (aggiungi immagine e immagine campana) e testi contenenti indirizzi di posta. Ho già cambiato i colori della barra di navigazione. Nella documentazione, c'è scritto:

La gerarchia di visualizzazione di questa classe è privata e non è necessario modificarla. Tuttavia, è possibile personalizzare l'aspetto di un'istanza utilizzando il protocollo UIAppearance.

Ho provato a usarlo, ma non funziona (potrei farlo in un modo sbagliato, perché non conosco UIAppearance). Questo è quello che ho provato:

 [[UIButton appearanceWhenContainedIn:[MFMailComposeViewController class], nil] setTitleColor:[UIColor orangeColor] forState:UIControlStateNormal]; 

     [[UILabel appearanceWhenContainedIn:[MFMailComposeViewController class], nil] setTextColor:[UIColor orangeColor]]; 

enter image description here

+1

Usa tintColor come questo, mailComposerViewController.view.tintColor = [UIColor WhiteColor] – Sandeep

+0

proprietà tintColor non è disponibile per MFMailComposeViewController – Reconquistador

+0

Mi dispiace dire vista, per favore guarda la modifica sopra. – Sandeep

risposta

1

Come Apple dice: https://developer.apple.com/library/ios/documentation/MessageUI/Reference/MFMailComposeViewController_class/index.html

La vista gerarchia di questa classe è privato e non si deve modificare esso. Tuttavia, è possibile personalizzare l'aspetto di un'istanza utilizzando il protocollo UIAppearance.

Ad ogni modo, è possibile controllare questo post: Customizing automatic MFMailComposeViewController opened from UITextView

+0

In questo post, c'è solo informazioni su come cambiare il colore dei testi nella barra di navigazione, che è qualcosa che ho già fatto. – Reconquistador

+0

Sì, hai ragione. Hai provato? [[UINavigationBar appearance] setTintColor: [UIColor redColor]]; – Bisca

+0

Non è necessario modificare l'aspetto di UINavigationBar, poiché è già stato modificato. – Reconquistador

Problemi correlati