2015-06-02 2 views
4

Я уже пробовал почти все существующее решение для изменения цвета navigationBar цвета моего MFMailComposeViewController, но он не показывает точный цвет.MFMailComposeViewController navigationBar цвет не совсем соответствует

Это моя viewController панели навигации цвет:

enter image description here

И после настройки всех решений ближе всего один такой:

enter image description here

Что такое, что мне не хватает здесь мой код? пожалуйста, посмотрите.

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

mc.mailComposeDelegate = self; 
[mc.navigationBar setTintColor:[UIColor whiteColor]]; 
[mc setSubject:[NSString stringWithFormat:@"V%@ Support", version]]; 
[mc setMessageBody:supportText isHTML:NO]; 
[mc setToRecipients:@[@"[email protected]"]]; 
[self presentViewController:mc animated:YES completion:NULL]; 

Я попытался с:

mc.navigationBar.translucent = NO; 
[mc.navigationBar setTintColor:[UIColor myColor]]; 
mc.navigationBar.backgroundColor = [UIColor myColor]; 
UIImage *image = [UIImage imageNamed:@"nav-bar_6_plus.png"]; 
[mc.navigationBar setBackgroundImage:image forBarMetrics:UIBarMetricsDefault]; 

Но не повезло.

Заранее спасибо.

+0

У вас должна быть проблема с прозрачностью панели. Вы должны попытаться настроить mc.navigationBar.translucent на YES или NO (зависит от того, как вы хотите, чтобы он выглядел). –

+0

Извините, что позвольте упомянуть. Да, я всегда устанавливал mc.navigationBar.translucent равным NO. Но цвет не показывает то же самое. :( – Tulon

+1

У меня такая же проблема. Я установил цвет до того, как он был создан, и он сделает цвет панели навигации более легким, чем должно быть. –

ответ

0

Я считаю его потому, что бар является прозрачным, если вы звоните

[self.navigationController.navigationBar setTranslucent:NO];

, который должен это исправить.

+0

Да. проверьте его с помощью 'mc.navigationBar.translucent = NO;' См. сообщение для обновления, но не получив тот же цвет. – Tulon

2

Это работает для меня: -

В Swift 3,0

UINavigationBar.appearance().isTranslucent = false 

Установка появление UINavigationBar решить мою проблему.