私は次のとおりですthis "リリース"私の前のビューコントローラは、UINavigationControllerで答えます。Custom Segueを使用したPopView UIViewController?
これはうまく動作しますが、ポップする部分は動作しにくいコードです。基本的に私のアプリはこのように動作します。メインメニュー(View 1)から開始し、View 2にプッシュし、Custom Push Segueを使用してView 3に移動します。今度は、View 3からView 2に移動するために別のカスタムSegueをポップするために使いたいと思います。しかし、以下のコードを使用すると、ビュー1に非常に迅速にポップしてから、最終的にビュー2にプッシュされます。ビューコントローラのトランジションが不自然で、カスタムセグを使用するだけで普通のポップトランジションを達成しようとしていますソースビューコントローラを「解放する」。
これは、私が無駄に今使っている私のコードです:
- (void)perform {
// Grab Variables for readability
UIViewController *sourceViewController = (UIViewController*)[self sourceViewController];
UIViewController *destinationController = (UIViewController*)[self destinationViewController];
UINavigationController *navigationController = sourceViewController.navigationController;
// Get a changeable copy of the stack
NSMutableArray *controllerStack = [NSMutableArray arrayWithArray:navigationController.viewControllers];
// Replace the source controller with the destination controller, wherever the source may be
[controllerStack addObject:destinationController];
// Assign the updated stack with animation
[navigationController setViewControllers:controllerStack animated:YES];
}
は、私がここで間違ってやっている何かがありますか?
あなたは[navigationController pushViewController:destinationController animated:YES]を試してみましたか? –
@NiravDoctorwalaただし、これで問題は解決されません。もう一つの問題は、私が特に「プッシュ」ではなく「ポップ」アニメーションを探していることです。 –
http://stackoverflow.com/questions/10281545/removing-viewcontrollers-from-navigation-stack –