У меня здесь очень странная проблема. Я использую настоящий modal view controller для отображения моего MFMailComposer ViewController поверх ViewController, который помещается в панель навигации.
[self presentModalViewController:emailviewController animated:YES];
чтобы скрыть, я использую...
-(void) mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error
{
[self dismissModalViewControllerAnimated:YES];
}
Все работает нормально, но когда я отклоняю свой MailComposer, исходный контроллер представления скрывается за панель состояния.
Я попытался изменить смещение вида на 10 с помощью метода setFrame, но он не работал. (это устало до и после того, как контроллер модального представления представлен и отклонен)
Я попытался скрывать строку состояния временно, но не работал.
Я пробовал self.navigationcontroller presentmodalviewcontrolle, но это тоже не сработало...
Любые идеи или предложения будут высоко оценены
отредактировано: Большинство людей дают мне предложение изменить смещение вручную. Ну, это не работает. Потому что, если я это сделаю в своем представлении viewDillLoad/viewWillapper исходного метода viewcontroller, то он сдвигает мое представление до текущего модального контроллера представления, тогда как после загрузки модального контроллера просмотра он становится нормальным.
- (void) viewDidAppear: (BOOL) анимированный { CGRect frame = self.navigationController.view.frame; frame.origin.y = 20; self.navigationController.view.frame = frame; }