カスタム UIPresentationController を使用して、独自のアニメーションで続編を実行します。のprepareForSegue:
myDestinationController.transitioningDelegate = DBViewControllerTransitioningDelegate()
myDestinationController.modalPresentationStyle = .Custom
これは私のものDBViewControllerTransitioningDelegate
です:
class DBViewControllerTransitioningDelegate: NSObject, UIViewControllerTransitioningDelegate {
func presentationControllerForPresentedViewController(presented: UIViewController, presentingViewController presenting: UIViewController, sourceViewController source: UIViewController) -> UIPresentationController? {
return DBOverlayPresentationController(presentedViewController: presented, presentingViewController: presenting)
}
func animationControllerForPresentedController(presented: UIViewController, presentingController presenting: UIViewController, sourceController source: UIViewController) -> UIViewControllerAnimatedTransitioning? {
return DBTransitioningAnimator()
}
}
メソッドが呼び出されていないため、機能していません。しかし、私が設定したとき:
myDestinationController.transitioningDelegate = self
私のコントローラー内で、self
私のすべてから2つのメソッドを追加してDBViewControllerTransitioningDelegate
も問題ありません。これら 2 つのメソッドが呼び出されます。なんで?違いはなんですか?