Следующий раскрутить класс segue не представляет исходный VC в исходное состояние и скользит слева направо -> | и перезагрузка данных, как и ожидалось, после перехода на второй виртуальный канал.
Исходный VC находится в UITabBarController
, панель вкладок внизу все еще показывает, но остальная часть экрана пуста.
Вопрос: Как мне вернуться назад, возвращая начальный переход к дополнительному экрану?
class UnwindSegueFromRight: UIStoryboardSegue {
override func perform(){
let src = self.source
let dst = self.destination
src.view.superview?.insertSubview(dst.view, at: 0)
dst.view.transform = CGAffineTransform(translationX: -src.view.frame.size.width, y: 0)
UIView.animate(withDuration: 0.25,
delay: 0.0,
options: UIViewAnimationOptions.curveEaseInOut,
animations: {
dst.view.transform = CGAffineTransform(translationX: 0, y: 0)
},
completion: { finished in
src.dismiss(animated: false, completion: nil)
})
}
}//end class
У меня есть следующий класс SegueFromRight
, который отлично работает. Но моя соответствующая попытка раскручивания вышеописанного не работает.
class SegueFromRight: UIStoryboardSegue {
override func perform(){
let dst = self.destination
let src = self.source
src.view.superview?.insertSubview(dst.view, aboveSubview: src.view)
dst.view.transform = CGAffineTransform(translationX: src.view.frame.size.width, y: 0)
UIView.animate(withDuration: 0.25,
delay: 0.0,
options: UIViewAnimationOptions.curveEaseInOut,
animations: {
dst.view.transform = CGAffineTransform(translationX: 0, y: 0)
},
completion: { finished in
src.present(dst, animated: false, completion: nil)
})
}
}