rejectModalViewController Скрывает родительское представление за строкой состояния

У меня тут очень странная проблема. Я использую текущий контроллер модального представления для отображения моего MFMailComposer ViewController поверх ViewController, который помещается в панель навигации.

[самостоятельный PresentModalViewController: emailviewController анимированный: YES];

чтобы скрыть, я использую ...

-(void) mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error
{

    [self dismissModalViewControllerAnimated:YES];
}

Все работает нормально, но когда я закрываю свой MailComposer, исходный контроллер представления скрывается за строкой состояния.

Я пытался изменить смещение вида на 10 с помощью метода setFrame, но это не сработало. (это утомительно до и после представления и закрытия контроллера модального представления)

Я пытался временно скрыть строку состояния, но это не сработало.

Я попробовал self.navigationcontroller presentmodalviewcontrolle, но это тоже не сработало...

Любые идеи или предложения будут высоко оценены.

After dismissmodalviewcontroller called

Отредактировано: Большинство людей предлагают мне изменить смещение вручную. Ну это не работает. Потому что, если я сделаю это в своем viewDidLoad/viewWillapper исходного метода контроллера представления, тогда он сдвинет мое представление перед текущим контроллером модального представления, тогда как после загрузки контроллера модального представления оно станет нормальным.

  • (void) viewDidAppear: (BOOL) анимированный { Кадр CGRect = self.navigationController.view.frame; кадр.происхождение.у = 20; self.navigationController.view.кадр = кадр; }

Changing offset results in this

13
задан Kunal Balani 21 June 2012 в 20:55
поделиться