Swift 自定义转场

1.设置转场代理

myView.transitioningDelegate = self

2.设置转场动画样式

my.modalPresentationStyle = .Custom

3.弹出菜单

presentCiewController(myView, animated: true, comletion: nil)

extension 实现代理方法

func animationControllerForPresentedController(presented:UIViewController, presentingController presenting: UIViewController, sourceController source: UIViewController) -> UIViewControllerAnimatedTransitioning? {

return MyPresentationController(presentedViewController:  presented,presentingViewController: presenting) //自定义的presentationController类

}

自定义presentationController

class MyPresentationController : UIPresentationController
{

 override init(presentedViewController: UIViewController, presentingViewController: UIViewController) {

  super.init(presentedViewController: presentedViewController, presentingViewController: presentingController)

 }


//用于布局转场动画弹出的视图

override func containerViewWillLayoutSubviews(){

// containerView 容器视图

// presentedView() 拿到弹出的视图

presentedView()?.frame = CGRect(x: 100, y: 45, width: 200, height: 200)

}

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容