2016-09-13 2 views
1

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

+0

Вы когда-нибудь находили решение этого вопроса? Запуск в ту же проблему. – chrismanderson

ответ

2

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

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

func animationController(forDismissed dismissed: UIViewController) -> UIViewControllerAnimatedTransitioning? { 
    return... 
} 
Смежные вопросы