Я учусь создавать пользовательские (интерактивные) переходы между контроллерами представления.Я создал настройки, когда я хочу представить что-то модально.Представление работает, но увольнение заканчивается черным экраном по окончании анимации.
Я заметил нечто странное:
func animateTransition(using transitionContext: UIViewControllerContextTransitioning) {
let fromV = transitionContext.view(forKey: .from)
let toV = transitionContext.view(forKey: .to)
let fromVC = transitionContext.viewController(forKey: .from)
let toVC = transitionContext.viewController(forKey: .to)
//....
}
Как и ожидалось, fromV
и fromVC.view
имеетссылка на то же представление (проверено в отладчике, адрес тот же).Однако toV
- это nil
, в то время как toVC.view
имеет некоторый (кажется, похожий) действительный адрес для действительного просмотра.
Как это возможно?Разве они не должны всегда совпадать с одинаковыми значениями?