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)
}
}