How to custom Modal View Controller presenting animation?

前端 未结 3 1798
借酒劲吻你
借酒劲吻你 2020-12-07 17:57

Instead of setting uiviewcontroller\'s modalTransitionStyle, I want to add an CAAnimation(or some other thing). This code can perform an custom animation in nav

相关标签:
3条回答
  • 2020-12-07 18:21

    You just need to add the transition to the window's layer, and present your controller rather than pushing it:

         CATransition* transition = [CATransition animation];
         transition.duration = 1;
         transition.type = kCATransitionFade;
         transition.subtype = kCATransitionFromBottom;
         [self.view.window.layer addAnimation:transition forKey:kCATransition];
         [self presentViewController:adjustViewController animated:NO completion:nil];
    
    0 讨论(0)
  • 2020-12-07 18:40

    Swift Version

    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)
    
    0 讨论(0)
  • 2020-12-07 18:41

    From apple develop guide:

    Presenting a View Controller Using Custom Animations

    To present a view controller using custom animations, do the following in an action method of your existing view controllers:

    • Create the view controller that you want to present.

    • Create your custom transitioning delegate object and assign it to the view controller’s transitioningDelegate property. The methods of your transitioning delegate should create and return your custom animator objects when asked.

    • Call the presentViewController:animated:completion: method to present the view controller.

    ...

    0 讨论(0)
提交回复
热议问题