UIViewController
データを表示するためのカスタムロジックを備えたViewController(から継承)があります。新しいビューコントローラー(同じタイプ)を初期化し、
[self.navigationController pushViewController:next animated:NO]
(次は新しくインスタンス化されたコントローラー)を使用して表示し、ナビゲーションコントローラーのデフォルトの戻るボタンを使用してスタックを上に移動して「ビューのスタック」のエクスペリエンスを作成できます。 。
これで、呼び出す前に、を呼び出すpushViewController:animated:
ことでトランジションアニメーションをカスタマイズでき[self.navigationController.view.layer addAnimation:animation forKey:nil]
ます。これは、ビューの「スタックを下る」ために素晴らしい働きをします。
ただし、スタックの上のナビゲーションはデフォルトの方法でデフォルトの戻るボタンを使用して行われるため、使用されるトランジションはデフォルトの左スライドアニメーションであり、カスタマイズしたアニメーションとは一致しません。
このトランジションアニメーションをカスタマイズするにはどうすればよいですか?
編集:
私はここで与えられたアイデアを取り入れて、次のことを思いつきました。
UIBarButtonItem *back = [[UIBackButtonItem alloc] initWithTitle:@"\U000025C0\U0000FE0E" style:UIBarButtonItemStylePlain target:self action:@selector(back:)];
[self.navigationItem setLeftBarButtonItem:back]
そして移行:
- (IBAction)back:(id)sender {
CATransiotion *animation = [CATransition animation];
animation.duration = 0.3f;
amimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear];
animation.type = kCATransitionMoveIn;
[self.navigationController.view.layer addAnimation:animation forKey:nil];
[self.navigationController popViewControllerAnimated:NO];
}
唯一の欠点は、私が喜んで一緒に暮らす新しい戻るボタンの外観です。
答えてくれてありがとう:)