UINavigationalController を使用してビューを切り替えるのに苦労しています。このシステムを問題なく何度も使用しましたが、新しいアプリでは正しく機能しません。
問題は次のとおりです。新しいView Controllerをプッシュするときは、次のコードを使用します:
NewViewController *newVC = [[NewViewController alloc] initWithNib:@"NewView" bundle:nil];
[self.navigationController pushViewController:newVC animated:YES];
[newVC release];
newVC 内の前のビューに戻るために使用しているコードは次のとおりです。
[self.navigationController popViewControllerAnimated:YES];
これが self.navigationController 自体を解放する可能性があることを読んでいたので、次のコードを実装しました。
UINavigationController *nc = [self navigationController];
[nc popViewControllerAnimated:YES];
その結果、新しい VC への移行は白く点滅せずにスムーズに行われますが、元のページに戻ると、元のページに戻る前に newVC を解放しているかのように画面が白く点滅します。でも!デバッグ時に、元のページの viewWillAppear と newVC の dealloc にブレークポイントを配置し、newVC の dealloc が呼び出される前に、白いフラッシュで viewWillAppear + トランジションがすべて完了しました。
誰かがこれに光を当てるのを手伝ってくれるなら、私はそれを大いに感謝します.
ありがとう!〜アーラッシュ