カスタムトランジションでカスタムポップアップを実装しようとしていますが、デリゲートメソッドがまったく呼び出されていません。これは私の移行デリゲートです:UIViewControllerTransitioningDelegateメソッドが呼び出されていません
public final class ModalTransitioningDelegate: NSObject, UIViewControllerTransitioningDelegate {
public func presentationController(forPresented presented: UIViewController, presenting: UIViewController?, source: UIViewController) -> UIPresentationController? {
let controller = ModalPresentationController(presentedViewController: presented, presenting: presenting)
return controller
}
public func animationController(forPresented presented: UIViewController, presenting: UIViewController, source: UIViewController) -> UIViewControllerAnimatedTransitioning? {
return ModalAnimationPresenter()
}
public func animationController(forDismissed dismissed: UIViewController) -> UIViewControllerAnimatedTransitioning? {
return ModalAnimationDissmiser()
}
}
これは私のポップアップビューコントローラである:
@IBAction func test(_ sender: Any) {
let popup = UIStoryboard(name: "Popups", bundle: nil).instantiateInitialViewController() as! StopWorkoutViewController
present(popup, animated: true, completion: nil)
}
そして、これはIBのビューコントローラです:
class StopWorkoutViewController: UIViewController {
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
commonInit()
}
override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: Bundle?) {
super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)
commonInit()
}
func commonInit() {
let transitioner = ModalTransitioningDelegate()
modalPresentationStyle = .custom
transitioningDelegate = transitioner
}
}
これは私がポップアップを提示する方法であります:
ポップアップが表示されますが、全画面表示されます。