2013-12-25 2 views
4

Этот вопрос предназначен для Xcode 5 под управлением iOS 7 и является супер странным. Я пытаюсь установить все цвета текста UInavigation и UIBarButtonItem в белый цвет.MFMailComposeViewController появление setTintColor теряется iOS 7

Так что в моем делете запуска приложения я установил код как.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    UIImage *NavigationPortraitBackground = [UIImage imageNamed:@"button_header_blue"]; 

    // Set the background image all UINavigationBars 
    [[UINavigationBar appearance] setBackgroundImage:NavigationPortraitBackground forBarMetrics:UIBarMetricsDefault]; 



    // Set the text appearance for navbar 
    [[UINavigationBar appearance] setTitleTextAttributes: 
    [NSDictionary dictionaryWithObjectsAndKeys: 
     [UIColor whiteColor], UITextAttributeTextColor, 
     [UIColor whiteColor], UITextAttributeTextShadowColor, 
     [NSValue valueWithUIOffset:UIOffsetMake(0, 0)], UITextAttributeTextShadowOffset, 
     [UIFont fontWithName:@"Helvetica Neue" size:21], UITextAttributeFont, 
     nil]]; 


    [[UINavigationBar appearance] setTintColor:[UIColor whiteColor]]; 


    NSDictionary *attributes = [NSDictionary dictionaryWithObjectsAndKeys: 
           [UIColor whiteColor], 
           UITextAttributeTextColor, 
           [UIColor whiteColor], 
           UITextAttributeTextShadowColor, 
           nil]; 

    [[UIBarButtonItem appearance] setTitleTextAttributes:attributes forState: UIControlStateNormal]; 

    [[UIBarButtonItem appearance] setTintColor:[UIColor whiteColor]]; 

    // Override point for customization after application launch. 
    return YES; 
} 

Если я запускаю «отправить почту» действие дважды - первый раз, когда я вижу UIBarButton элементы белого цвета. Я смотрю на него и нажимаю кнопку «Отмена» - второй раз я вижу, что все они серые и едва заметные, кроме названия. - Это происходит как в моем iPhone-симуляторе, так и в iPhone под управлением iOS 7.

как я могу это исправить?

enter image description here enter image description here

+0

Согласно Developer Support Apple: Это известная ошибка в прошивкой 7.0. – jasonjwwilliams

ответ

10

Я должен был сделать это таким образом, чтобы для того, чтобы работать над прошивкой 7

if ([MFMailComposeViewController canSendMail]) 
    { 

     MFMailComposeViewController *mailViewController = [[MFMailComposeViewController alloc] init]; 
     mailViewController.mailComposeDelegate = self; 

     [mailViewController.navigationBar setTintColor:[UIColor whiteColor]]; 
     [mailViewController.navigationBar setBarTintColor:[UIColor whiteColor]]; 

.... 
+0

Где вы это положили? У меня такая же проблема, но я использую UIActivityViewController. Будет ли это работать? – Nick

+0

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

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