Я пытаюсь настроить анимацию перехода на навигационную систему push/pop на UINavigationController
таким образом, чтобы имитировать представление/отклонение UIViewController
.Pop UIViewController с пользовательской «отклонением модальной» подобной анимации
Вот пример стандартной анимации:
- толчок к зеленому экрану,
- присутствует модальный Оранжевый экран,
- отклонять модальный Оранжевый экран и
- поп назад на голубой экран.
я был в состоянии получить тот же «скользить вверх от нижней» толчок анимации реализации пользовательских вертикальной UIStoryboardSegue
.
Жесткая часть предназначена для реализации аналогичной поп-анимации. Лучшее, что я смог получить следующий:
Вот медленный вариант движения одного и того же эффекта:
Из предыдущей анимации вы можете оценить, что он отличается от стандартного увольнением модального анимации главным образом потому, что экран Bubblegum не должен скользить сверху вниз, но должен быть уже представлен за экраном Navy во время население
Это код, который я использовал для создания поддельных отклонять модальную анимацию:
class FakeModalNavigationController: UINavigationController {
fileprivate static let unwindToBubblegumScreenSegueID = "unwindToBubblegumScreenSegueID"
override func unwind(for unwindSegue: UIStoryboardSegue, towardsViewController subsequentVC: UIViewController) {
if unwindSegue.identifier == type(of: self).unwindToBubblegumScreenSegueID {
popViewControllerAnimatedFromBottom(subsequentVC)
}
}
fileprivate func popViewControllerAnimatedFromBottom(_ viewControllerToPop: UIViewController) {
let transition = CATransition()
transition.duration = 0.25
transition.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut)
transition.type = kCATransitionPush
transition.subtype = kCATransitionFromBottom
view.layer.add(transition, forKey: nil)
popViewController(animated: false)
}
}
Заранее спасибо за ответы и комментарии!
Спасибо, это гораздо лучше, чем раньше;) К сожалению, в то время как я выполняю поддельный уволить модальный экран ВМФ, есть еще темная тень эффект по экрану Bubblegum. Вы знаете, как его удалить? – horothesun