1

回転できる子ビュー(ルートではなく、ビューAとします)があります。また、モーダルビュー(ビューMとします)が表示され、サーバーからデータが受信されます。私たちのQAは、そのビューAが回転しているときにデータが来ると、モーダルビューMは表示されないことを発見しました。実際、モーダルビューを表示するコードが実行され、アプリはルートビューに移動しますが、ユーザーにはモーダルビューは表示されません。

モーダルビューMは、次のコードで表示されます。

[self.navigationController popToViewController:self.rootViewController animated:animated];    
[self performSelector:@selector(showModalAcceptDialog:) withObject:requestID afterDelay:0.1];  

(void)showModalAcceptDialog:(NSManagedObjectID*)requestID {
    RequestAcceptViewController *requestAcceptViewController = [[RequestAcceptViewController alloc] initWithNibName:@"RequestAcceptViewController" bundle:nil];
    requestAcceptViewController.requestID = requestID;
    [[self navigationController] presentModalViewController:requestAcceptViewController animated:YES];
    [requestAcceptViewController release];  
}

モーダルビューを表示する前にルートビューへのナビゲーションを実行するには、遅延が必要です。そうしないと、アプリがクラッシュして内部例外が発生します。

また、横向きモードのビューAにはナビゲーションバーがなく、(viewWillDisappearで)消えたときに復元されますが、この場合、ナビゲーションバーは表示されません。

私はそれを修正する方法がわからないので、この問題について私を助けてください。

4

0 に答える 0