Swift 3: UIViewControllerTransitioningDelegate перестал работать

В моем приложении у меня есть пара классов, используемых для пользовательского перехода. До Swift 3 все работало нормально. Однако после обновления до Swift 3 func presentationController(forPresented presented: UIViewController, presenting: UIViewController?, source: UIViewController) всегда имеет представление как ноль. Предполагается вернуть UIViewController, который инициирует переход. Все отлично работало с предыдущей версией Swift. Я что-то пропустил?

1 ответ

Я застрял в этой проблеме более часа, в swift 3.0 произошли изменения в соглашении о сигнатурах функций, так что это может быть причиной проблемы, так как это изменение исправило проблему с моей стороны. Поскольку методы протокола были необязательными, они не вызывались, и ошибки не было.

func animationController(forPresented presented: UIViewController, presenting: UIViewController, source: UIViewController) -> UIViewControllerAnimatedTransitioning? {
    return ...
}

func animationController(forDismissed dismissed: UIViewController) -> UIViewControllerAnimatedTransitioning? {
    return...
}
Другие вопросы по тегам