MFMessageComposeViewController ios7 покрывает строку состояния

Я модернизирую более старую платформу iPad, которая представляет собой splitView с основными и подробными представлениями, управляемыми UINavigationControllers. DetailView отображает серию UIWebView. Когда пользователь касается кнопки электронной почты, приложение программно отображает стандартный лист составителя электронной почты в detailView. Это прекрасно работает на устройстве iOS6. Лист сдвигается вверх вертикально, чтобы закрыть панель навигации и останавливается ниже строки состояния. На устройстве iOS7 лист скользит вверх и вверх по панели навигации и закрывает строку состояния. Ничто из того, что я пробовал, не позволяет листу композитора закрывать строку состояния в iOS7.

Вот код, который является частью класса электронной почты. Делегатом является UIViewController, который вызвал этот метод косвенно через кнопку электронной почты.

-(void)displayComposerSheet {

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

picker.navigationBar.barStyle = UIBarStyleBlackOpaque;
if (floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_6_1) {
    picker.navigationBar.barStyle = UIBarStyleBlackTranslucent;
}

picker.modalPresentationStyle = UIModalPresentationCurrentContext;
picker.modalPresentationCapturesStatusBarAppearance = YES;

picker.mailComposeDelegate = self;

NSString *emailAddress = ruleEmailAddress;

// Set up recipients
NSArray *toRecipients = @[emailAddress];
[picker setToRecipients:toRecipients];
[picker setSubject:ruleNumber];
[picker setMessageBody:ruleText isHTML:YES];

[(UIViewController *)delegate presentViewController:picker animated:YES completion:nil];
}

Спасибо за любые предложения о том, как сохранить лист композитора от покрытия строки состояния на устройствах iOS7.

0 ответов

Другие вопросы по тегам