私は3つのUIViewControllerを私のUINavigationControllerに持っています。 いくつかの点で私はrootViewControllerに行きたいので、そこから新しいUIViewControllerにナビゲートして、動作させることはありません。iOS - 奇妙なナビゲーションの問題?
提案がありますか?
- (IBAction)goToRootAndNavigateToViewController
{
[self.navigationController popToRootViewControllerAnimated:YES];
MyViewController *mvc = [[MyViewController alloc] init];
[self.navigationController pushViewController:mvc animated:YES];
[mvc release];
//This takes me to the rootViewController but it doesn't navigate to MyViewController
}
はperformSelectorを使用しようとすると:WithDelay:
- (void)goToRootAndNavigateToViewController
{
[self.navigationController popToRootViewControllerAnimated:YES];
[self performSelector:@selector(doSomething) withObject:nil afterDelay:10];
}
- (void)doSomething
{
MyViewController *mvc = [[MyViewController alloc] init];
[self.navigationController pushViewController:mvc animated:YES];
[mvc release];
}
遅延を追加するとハッキーですが、ViewControllerを設定すると、私のルートviewcontrollerを維持するために – aryaxt
は、ハッピーではない遅延を設定します。これらのメソッドは、NSRunLoop内部でこれを行うために、理由のためにsdkに入れられます。必要に応じて遅延間隔を0.0に設定します。ルート・ビュー・コントローラーを維持しながらビュー・コントローラーを設定することも問題ではありません。あなたのルートビューコントローラへの参照を保存し、それを 'setViewControllers:animated'に渡すNSArrayの最初の要素として持っていれば、それはまだルートとして持っています – cpjolicoeur
私は動作しなかった遅延を試みました。遅延15秒とそれはまだ動作しません – aryaxt