0

これは非常にうまく機能しています:

[(UINavigationController*)viewController setViewControllers:[NSArray arrayWithObject:cvc] animated:YES];

しかし、これによりアプリケーションがクラッシュします:

[(UINavigationController*)viewController setViewControllers:[NSArray arrayWithObject:cvc] animated:NO];

アニメーション:NOの別のviewControllerでelse部分で使用したのと同じ行で、正常に動作しています。何か不足していますか、それともバグですか?

4

2 に答える 2

0

ビューコントローラーを rootViewController として設定している場合は、これを行います

yourNavigationController=[[UINavigationController alloc]initWithRootViewController:cvc];

そして、 newViewController に移動したいときに使用しますpushViewController

[self.navigationController pushViewController:yourViewObject animated:YES];
于 2012-11-07T07:05:03.027 に答える
0

Apple は、アニメーションを YES に設定した場合のみ、この機能のドキュメントを提供しています。

- (void)setViewControllers:(NSArray *)viewControllers animated:(BOOL)animated __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_3_0); // アニメーション化が YES の場合、新しいトップ ビュー コントローラーが以前にスタックにあったかどうかに応じて、プッシュまたはポップをシミュレートします。

アニメーションを「いいえ」に設定すると、アニメーションが完了するまで、新しいトップレベルの NavigationController が初期化されず、適切にロードされていないと思います。

于 2012-11-07T07:26:07.590 に答える