私は非常に奇妙な問題があります。現在のモーダルビューコントローラを使用して、MFMailComposer ViewControllerをナビゲーションバーに配置されたViewControllerの上に表示しています。私が使用隠すためにdismissModalViewController親ビューをステータスバーの背後に隠します。
[self presentModalViewController:emailviewController animated:YES];
、...
-(void) mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error
{
[self dismissModalViewControllerAnimated:YES];
}
すべてが正常に動作しますが、私は私のMailComposerを閉じたときに、元のビューコントローラは、ステータスバーの後ろに隠します。
私はsetFrameメソッドを使ってビューのオフセットを10で修正しようとしましたが、うまくいきませんでした。 (これはモーダルビューコントローラの表示と解除の前後に疲れています)
私はステータスバーを一時的に隠してみましたが、うまくいきませんでした。
私はself.navigationcontrollerのpresentmodalviewcontrolleを試してみましたが、それはあまりにも働いていなかった...
任意のアイデアや提案は非常に編集した
をいただければ幸いです。ほとんどの人は私を与えます手動でオフセットを修正するための提案。 それはうまくいきません。もし私が私のviewDidLoad/viewWillapperで元のviewcontrollerメソッドを実行すると、現在のモーダルビューコントローラの前に私のビューがシフトするのに対し、モーダルビューコントローラをロードした後は正常になります。
- (ボイド)viewDidAppear:(BOOL)アニメーション{ CGRectフレーム= self.navigationController.view.frame。 frame.origin.y = 20; self.navigationController.view.frame = frame; }
元のビューコントロールrステータスバーを非表示にするかどうかを設定しますか? – Ladislav
nope ..まだステータスバーに触れていません –
モーダルビューコントローラと元のビューコントローラでステータスバーは変わりませんか? – Ladislav