2009-06-27 4 views
6

Мое приложение использует новую функцию электронной почты для iPhone SDK 3.0.iPhone SDK 3.0 в приложении - изменение цвета панели навигации

Я хочу изменить цвет оттенка интерфейса электронной почты на черный и сделать его полупрозрачным.

Я попытался следующий код,

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

Но это изменяющийся цвет зрения, что создает,

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

окно создания сообщения, а не само окно создания сообщения.

Возможно ли это? Или мы должны придерживаться Apple, предоставляя синий сам ???

ответ

0

Да, это возможно.

Просто добавьте категорию объектива-c в класс UINavigationBar, переопределив метод drawInRect. Таким образом, вы можете хотеть.

Неудобство, все ваши навигационные панели изменится :)

+0

Не уверен, что ваше приложение будет одобрено, если вы это сделаете. – Grouchal

+0

Это не проблема с Apple. Это именно то, что я сделал в своем приложении (ну, собственно, подкласс UINavigationBar), и он был одобрен Apple (официальное приложение Dave Matthews Band). Нет ничего плохого в перехвате drawInRect: чтобы получить пользовательский внешний вид UINavigationBar. – LucasTizma

5

Поскольку MFMailComposeViewController подкласс UINavigationController, просто сделать это:

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

Вы также можете попробовать этот код ....

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

[[сборщика Панель навигации] setTintColor: [UIColor черный цвет]];

.... делает кнопки отмены и отправки черными тоже. Они не синие и не меняют цвет при нажатии.

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