Я делаю довольно простой переход, представляя следующий контроллер представления с настраиваемой анимацией перехода.
По сути, переход создает toView за пределами экрана, а затем перемещает его по fromView справа, в то время как fromView скользит влево с немного меньшей скоростью. Отклоняющий переход делает обратное.
Моя проблема заключается в том, что после отклонения toView, чтобы вернуться к fromView, когда я снова запускаю segue, toView скользит под fromView, а не над. Это не происходит при первом переходе, но происходит с каждым из них после.
Я не могу понять, почему он это делает, не говоря уже о том, как это исправить. Любая помощь была бы потрясающей.
код перехода:
let storyboard = UIStoryboard(name: kOnboardingSignupStoryboard, bundle: nil)
let vc = storyboard.instantiateViewController(withIdentifier: kOnboardingErrorIdentifier) as! OnboardingErrorViewController
vc.transitioningDelegate = self
vc.errorMessage = kErrorIncorrectPin
self.present(vc, animated: true, completion: nil)
отклонить код:
dismiss(animated: true, completion: nil)
расширение перехода:
extension OnboardingErrorViewController: UIViewControllerTransitioningDelegate {
func animationController(forPresented presented: UIViewController, presenting: UIViewController, source: UIViewController) -> UIViewControllerAnimatedTransitioning? {
return FromRightDeck()
}
func animationController(forDismissed dismissed: UIViewController) -> UIViewControllerAnimatedTransitioning? {
return DismissFromRightDeck()
}
Также можно прикрепить небольшой гиф, показывающий, что происходит?
Я добавил свой код перехода и отклонения, @RakeshaShastri, я постараюсь получить гифку о том, что происходит
Эээээ ... вы представляете это, но оно скользит справа, а не снизу? o.O
Да, верно, у меня есть расширение для View Controller, которое использует пользовательскую анимацию перехода вместо стандартной.
Можете ли вы добавить код делегата перехода?
@Sam Не беспокойтесь, это довольно просто, но я добавил его в
Можете показать метод DismissFromRightDeck?





Хорошо, поэтому мне удалось решить эту проблему после погружения в код анимации. Изначально я не думал, что это будет иметь к этому какое-то отношение, так как в первый раз все работает нормально, а я использую анимацию каждый раз. Однако была ошибочная строка кода, перемещающаяся в позицию toView z, которую я использовал при тестировании, что вызывало эту проблему.
Вы можете предоставить свой код?