ios - 在标签栏控制器顶部显示视图控制器时如何使用展开转场?
问题描述
我在标签栏控制器顶部展开视图控制器时遇到问题。
小路:
- 从 (1) 到 (2) 的按钮带有 show segue。
- 从 (2) 到 (3) 的按钮带有自定义 segue - 代码添加在下面。
- 当单击 (3) 中的按钮时,想要使用正常动画展开到 (1)。
问题:
单击 (3) 上的按钮以放松。(3) 无动画关闭,(2) 显示,并以常规动画关闭,然后显示(1)。
如何防止 (2) 显示 - 并从 (3) 到 (1) 获得漂亮的动画?
自定义转场:
class SegueFromRight: UIStoryboardSegue {
override func perform() {
let src = self.source
let dst = self.destination
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: .curveEaseInOut,
animations: {
dst.view.transform = CGAffineTransform(translationX: 0, y: 0)
},
completion: { finished in
src.present(dst, animated: false, completion: nil)
}
)
}
}