MFMailComposeViewController canSendMail уведомление об изменении, если возвращено нет - PullRequest
10 голосов
/ 11 ноября 2011

Я использую MFMailComposeViewController canSendMail в моем приложении, все отлично работает, но если на iPhone или iPad нет учетных записей, он возвращает стандартный просмотр предупреждений, что я хотел бы изменить.Если я добавлю предупреждение в другом, он вернет 2 предупреждения.Есть ли способ изменить стандартное оповещение, которое он возвращает?Или хотя бы изменить текст в нем?

MFMailComposeViewController *controller = [[MFMailComposeViewController alloc] init];
if ([MFMailComposeViewController canSendMail]) {
    controller.mailComposeDelegate = self;
    controller.navigationBar.tintColor = [UIColor grayColor];
    NSArray *toRecipients = [NSArray arrayWithObject:@"info@info.nl"];
    [controller setToRecipients:toRecipients];
    [controller setSubject:@"bericht van info"];
    [self presentModalViewController:controller animated:YES];
    [controller release];
}
else {

}

Ответы [ 3 ]

13 голосов
/ 11 ноября 2011

попробуйте одну вещь. Переместите код инициализации MFMailComposeViewController в блок canSendMail.

4 голосов
/ 11 ноября 2011

Перемещение alloc 'MFMailComposeViewController' внутри if:

if ([MFMailComposeViewController canSendMail]) {
    MFMailComposeViewController *controller = [[MFMailComposeViewController alloc] init];
    controller.mailComposeDelegate = self;
    controller.navigationBar.tintColor = [UIColor grayColor];
    NSArray *toRecipients = [NSArray arrayWithObject:@"info@info.nl"];
    [controller setToRecipients:toRecipients];
    [controller setSubject:@"bericht van info"];
    [self presentModalViewController:controller animated:YES];
    [controller release];
} else {
    // Display custom alert here.
}
0 голосов
/ 11 ноября 2011

Вы можете проверить, может ли устройство отправлять электронные письма с помощью

[MFMailComposeViewController canSendMail]

И, если нет, показать диалоговое окно на вашей стороне

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...