Swift: Customize presentViewController Animation from Left to Right
{"title":"修改 presentViewController动画为从左到右 不是从上到下","description":"要将presentViewController的动画改为从左到右,可以使用CATransition来实现。具体步骤如下:\n\n1. 创建一个CATransition对象,并设置动画类型为kCATransitionPush。\n2. 设置动画的subtype为kCATransitionFromLeft,表示从左侧进入。\n3. 将CATransition对象设置为viewController的transitioningDelegate。\n4. 调用presentViewController方法来展示viewController。\n\n示例代码如下:\n\nswift\nlet transition = CATransition()\ntransition.duration = 0.3\ntransition.type = kCATransitionPush\ntransition.subtype = kCATransitionFromLeft\nviewController.transitioningDelegate = self\nviewController.modalPresentationStyle = .fullScreen\nviewController.view.layer.add(transition, forKey: kCATransition)\npresent(viewController, animated: false, completion: nil)\n\n\n在上述代码中,我们将CATransition对象设置为viewController的transitioningDelegate,这样就可以自定义present动画。同时,我们将animated参数设置为false,以禁用默认的动画效果。\n\n还需要确保当前的控制器实现了UIViewControllerTransitioningDelegate协议,并重写了以下两个方法:\n\nswift\nfunc animationController(forPresented presented: UIViewController, presenting: UIViewController, source: UIViewController) -> UIViewControllerAnimatedTransitioning? {\n return self\n}\n\nfunc animationController(forDismissed dismissed: UIViewController) -> UIViewControllerAnimatedTransitioning? {\n return nil\n}\n\n\n这样就能够实现presentViewController的动画从左到右的效果了。"}
原文地址: https://www.cveoy.top/t/topic/pKXI 著作权归作者所有。请勿转载和采集!