Пользовательский класс раскрутки Segue не работает должным образом в Swift, почему? - PullRequest
0 голосов
/ 02 мая 2018

Следующий раскрутить класс 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)
    })
}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...