在A Beginner’s Guide to Animated Custom Segues in iOS 8通過自定義Segue來達到自定義轉場動畫的效果,但是這種做法有個非常大的缺點,目標ViewController的viewWillAppear
和viewDidAppear
會調用兩次
第一次window?.insertSubview(destView, aboveSubview: sourceView)
引起的
第二次
self.sourceViewController.presentViewController(self.destinationViewController, animated: false, completion: nil)
引起的
在iOS Animation Tutorial: Custom View Controller Presentation Transitions提到另一種自定義轉場動畫卻不會引起上述該問題
根據這篇教程,寫了彈窗動畫的Demo:
CustomPresentaionTranisitions