Моя цель - выполнить флип-анимацию из view1 в view2 и наоборот. Я только хочу, чтобы перевернуть взгляды не весь ViewControllerCustom flip animation segue - Swift 3
Настройки следующим образом: у меня есть контроллер представления (fromViewController) в моей раскадровке, внедренной в navigationController. Я нарисовал segue на втором контроллере представления (toViewController) и сделал его обычным segue. Теперь я хочу добавить флип-анимацию, чтобы перевернуть представления контроллеров вида слева направо и справа налево. Анимация в прямом направлении уже работает (от fromViewController to toViewController), но обратная анимация не работает. Я проверил множество подобных вопросов здесь, но я не мог найти ответ, соответствующий моим потребностям.
Я надеюсь, что кто-то может мне помочь.
Класс для пользовательского segue - FlipSegue. вот мой код:
import UIKit
extension UIViewController{
var isVisible: Bool{
return self.isViewLoaded && self.view.window != nil
}
}
class FlipSegue: UIStoryboardSegue {
override func perform() {
let fromViewController = self.source
let toViewController = self.destination
if fromViewController.isVisible{
UIView.transition(from: fromViewController.view, to: toViewController.view, duration: 1, options: .transitionFlipFromLeft, completion: nil)
}
else{
UIView.transition(from: toViewController.view, to: fromViewController.view, duration: 1, options: .transitionFlipFromRight, completion: nil)
}
}
}
FYI: toViewController не является частью NavigationController.
РЕДАКТИРОВАТЬ: Я выполняю сег, нажимая на UIBarButton с левой стороны навигационного контроллера. Кнопка вызывает функцию выполнения в классе FlipSegue. Может быть, проблема в том, что toViewController не является частью стека навигации? Поэтому я добавил его в стек навигации, а затем получил кнопку «Назад», и я смог вернуться к inViewController со стандартной анимацией, но этого я не хотел.
«... но обратная анимация не работает [работает?]» Это действительно неинформативно. Что происходит? Является ли ваша статья оговоркой? Меняются ли взгляды, но с неправильной анимацией? –
да, оговорка else стреляет, я проверил, что – user1895268
Как насчет другой информации, которую я просил? Давай, мужик, не заставляй нас играть 20 вопросов! –