2016-04-13 3 views
0

Я работаю над включением s MFMailComposer для отправки текстовых сообщений в моем приложении. Ниже мой код для создания и отображения компонента совместного сообщения:Неправильно с MFMailComposer Внешний вид

- (void)shareWithMessages { 

    if(![MFMessageComposeViewController canSendText]) { 
     UIAlertView *warningAlert = [[UIAlertView alloc] initWithTitle:@"Error" message:@"Your device doesn't support SMS!" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; 
     [warningAlert show]; 
     return; 
    } 

    NSString *message = self.articleTitle; 
    message = [message stringByAppendingString:@" "]; 
    message = [message stringByAppendingString:self.urlString]; 

    MFMessageComposeViewController *messageController = [[MFMessageComposeViewController alloc] init]; 
    messageController.messageComposeDelegate = self; 
    [messageController setBody:message]; 

    // Present message view controller on screen 
    [self presentViewController:messageController animated:YES completion:nil]; 
} 

Когда композитор обмена показан, то «Новое сообщение» текст отображается белым цветом:

enter image description here

Я попытался установить цвет оттенок следующим образом:

[[messageController navigationBar] setTintColor:[UIColor blackColor ]];

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

+0

сделал и изменить оттенок цвета для панели навигации в глобальном масштабе (напр в приложение делегата) где-нибудь в коде ур? –

ответ

0

Возможно, где-то в вашем коде вы меняете внешний вид [UINavigationBar]. Так что попробуйте настройки внешнего вида UINavigationBar перед вызовом

shareWithMessage 

Может быть один из следующих 3 сделать трюк:

[[UINavigationBar appearance] setTintColor:[UIColor yourColor]]; 
[[UINavigationBar appearance] setBarTintColor:[UIColor yourColor]]; 
[[UINavigationBar appearance] setTitleTextAttributes: 
    @{NSForegroundColorAttributeName:[UIColor yourColor]}]; 
+0

Хм, хороший звонок. Я устанавливал внешний вид во всем мире в «AppDelegate». Я попробовал ваше предложение прямо перед вызовом '[self presentViewController: messageController animated: YES complete: nil];', но он все равно получил тот же результат. Аналогично, я также попробовал '[[messageController navigationBar] setTintColor: [UIColor blackColor]];' и все равно ничего. – narner

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