1

ここからこのコードを取得しましたが、必要に応じて完全に機能します。しかし問題は、View Controller をポップしてメイン画面に戻りたいときです。私が使うとき

[self.navigationController popViewControllerAnimated:YES];
それは何もしていません。しかし、同じコードを使用すると機能しますが、「左から右」から希望どおりには機能しません。

これはコードです。View Controller を元の方向に戻すにはどうすればよいですか? 私が取り組んでいるものの前にviewControllerを配置し、それをポップすることは理解していますが、どうすればプッシュできますか? プッシュしようとするとエラーが発生します。

    NSMutableArray *vcs =  [NSMutableArray arrayWithArray:self.navigationController.viewControllers];
    [vcs insertObject:levelsView atIndex:[vcs count]-1];
    [self.navigationController setViewControllers:vcs animated:NO];
    [self.navigationController popViewControllerAnimated:YES];
4

2 に答える 2

0

まず、コード スニペットを深くデバッグします。アレイ VC をチェックインすると、オブジェクトが挿入されますか? はいの場合、チェックself.navigationControllerは nil ではありません。何もない場合は、コードを詳しく説明します。コードを公開したくない場合は、別のアニメーションを試してください。

CATransition アニメーション効果を使用してみてください。

CATransition * trans = [CATransition animation];
trans.type = kCATransitionPush;
trans.subtype = kCATransitionFromLeft;
trans.duration = 0.22;
于 2013-07-26T11:30:49.173 に答える
0

を使用してメイン画面に移動する必要があります

[self.navigationController popToRootViewControllerAnimated:YES];
于 2012-07-07T07:58:29.343 に答える