2009-06-27 8 views
6

Mon App utilise une nouvelle application en fonction de courrier électronique de l'iPhone SDK 3.0.iPhone SDK 3.0 en application email - changement de teinte barre de navigation couleur

Je veux changer la couleur de teinte de l'interface utilisateur d'email en noir et la rendre translucide.

J'ai essayé le code suivant,

/* 
picker.navigationController.navigationBar.tintColor = [UIColor blackColor]; 
picker.navigationController.navigationBar.translucent = YES ; 
*/ 

Mais il change la couleur de la vue qui crée,

MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init]; 

la fenêtre de composition, plutôt que la fenêtre de composition elle-même.

Est-ce au moins possible? Ou devrions-nous nous en tenir à Apple fourni bleu lui-même ???

Répondre

0

Oui, c'est possible. Ajoutez simplement une catégorie objective-c dans la classe UINavigationBar en remplaçant la méthode drawInRect. De cette façon, vous pouvez faire ce que vous voulez.

L'inconvénient, tous vos barres de navigation va changer :)

+0

Vous ne savez pas si votre application sera approuvée si vous le faites. – Grouchal

+0

Ce n'est pas un problème avec Apple. C'est exactement ce que je l'ai fait dans mon application (bien, en fait, une sous-classe de UINavigationBar), et il a été approuvé par Apple (application officielle Dave Matthews Band). Il n'y a rien de mal à intercepter drawInRect: pour obtenir une coutume UINavigationBar regarder. – LucasTizma

5

Depuis le MFMailComposeViewController est une sous-classe de UINavigationController, simplement faire ceci:

[[picker navigationBar] setTintColor:[UIColor redColor]]; 
0

Vous pouvez également essayer ce code ....

MFMailComposeViewController *mailComposeView = [[MFMailComposeViewController alloc] init]; 
mailComposeView.navigationBar.tintColor = [UIColor cyanColor]; 
0

[[sélecteur navigationBar] setTintColor: [UIColor couleur noire]];

.... rend également les touches Annuler et Envoyer noires. Ils ne sont pas bleus et ne changent pas de couleur lorsqu'ils sont pressés.

Questions connexes