2010-03-08 9 views
1

от этого кода будет отображаться в оригинальном цвете, как я могу изменить его на другой цвет? Возможно, это нужно переопределить?Как настроить цвет навигационной панели MFMailComposeViewController?

MFMailComposeViewController *mail = [[MFMailComposeViewController alloc] init]; 
    mail.mailComposeDelegate = self; 
    if ([MFMailComposeViewController canSendMail]) { 
     [mail setToRecipients:[NSArray arrayWithObjects:@"[email protected]",nil]]; 
     [mail setSubject:@"support"]; 
     [mail setMessageBody:@"enter your message here" isHTML:NO]; 
     [self presentModalViewController:mail animated:YES]; 
    } 

ответ

2

Я этого не сделал, поэтому ответьте с должным вниманием.

MFMailComposeViewController унаследовал от UINavigationController. Это означает, что у него будет свойство navigationBar. Когда у вас есть navigationBar, вы можете изменить его свойство tintColor.

+0

Я вижу, спасибо, Giao – RAGOpoR

+0

Вы будете осторожны при использовании этого подхода. Известно, что Apple отправляется в App Store с кнопкой отклонения. Если вы измените стандартный интерфейс iPhone (т. Е. Интерфейс почтовой компоновки), Apple может отклонить ваше приложение. При условии, что пользовательский интерфейс не предназначен для изменения ... – Jasarien

2

На самом деле, iPhone SDK запрещает вам изменять внешний вид MFMailComposeViewController. Из документов (here):

Important: The mail composition interface itself is not customizable 
and must not be modified by your application. In addition, after 
presenting the interface, your application is not allowed to make 
further changes to the email content. The user may still edit the 
content using the interface, but programmatic changes are ignored. 
Thus, you must set the values of content fields before presenting 
the interface. 

К сожалению ...

+0

интерфейс сам по себе не настраивается, это означает изменение цвета панели навигации? им не уверен, что цвет изменения будет конфликтовать с измененным интерфейсом композиции почты. – RAGOpoR

+0

Это может быть правдой, но, по сути, мой опыт работы с представителями Apple Store заключается в том, что вы не хотите давать им оправдание отрицать свое приложение. Возможно, вы сможете повторно нарисовать навигационную панель, но мне бы не хотелось вкладывать в нее кучу времени, если она заканчивается тем, что ваше приложение отклонено ... –

0

В более поздних версиях прошивки в Apple Docs вы должны использовать протокол UIAppearance

Важной

Вы не должны изменять иерархия представлений, представленная этим представлением. контроллер. Однако вы можете настроить внешний вид интерфейса с использованием протокола UIAppearance.

Смежные вопросы