25

uiviewcontroller を設定する代わりにmodalTransitionStyle、CAAnimation (またはその他のもの) を追加したいと思います。このコードは、navigationController でカスタム アニメーションを実行できます。

CATransition* transition = [CATransition animation];
          transition.duration = 0.4;
          transition.type = kCATransitionFade;
          transition.subtype = kCATransitionFromBottom;
          [self.navigationController.view.layer addAnimation:transition forKey:kCATransition];
          [self.navigationController pushViewController:adjustViewController animated:NO];

Modal View Controller に実装するにはどうすればよいですか?

4

3 に答える 3

8

スウィフト版

let viewController = YourViewController()
let transition = CATransition()
transition.duration = 0.5
transition.type = kCATransitionFade
transition.subtype = kCATransitionFromBottom
view.window!.layer.add(transition, forKey: kCATransition)
present(viewController, animated: false, completion: nil)
于 2016-10-17T08:16:50.063 に答える
7

アップル開発ガイドから:

カスタム アニメーションを使用したビュー コントローラーの表示

カスタム アニメーションを使用してビュー コントローラーを表示するには、既存のビュー コントローラーのアクション メソッドで次の操作を行います。

  • 表示するView Controllerを作成します。

  • カスタム遷移デリゲート オブジェクトを作成し、それをビュー コントローラーの transitioningDelegate プロパティに割り当てます。移行中のデリゲートのメソッドは、要求されたときにカスタム アニメーター オブジェクトを作成して返す必要があります。

  • presentViewController:animated:completion: メソッドを呼び出して、View Controller を表示します。

...

于 2017-01-11T06:38:40.267 に答える