首页 > 解决方案 > 在标签栏控制器顶部显示视图控制器时如何使用展开转场?

问题描述

我在标签栏控制器顶部展开视图控制器时遇到问题。

小路:

问题:

单击 (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)
        }
        )
    }

}

标签: iosswiftxcodesegueunwind-segue

解决方案


推荐阅读