如何更改展开过渡样式

问题描述 投票:0回答:1

我有两个ViewController,全屏显示。我用一个按钮将第一个VC切换到第二个VC。这是“水平翻转”样式的过渡。

当我从第二个VC放回第一个VC时,“ Horizo​​ntal Flip”的设计是向后动画的。这不是我想要的行为,而是我想使用“ Partial Curl”过渡来放松。

我可以在放松功能中做一些事情,但是我不知道如何在其中设置过渡样式。

@IBAction func unwindToNewCard(_ unwindSegue: UIStoryboardSegue) {}


这是我想要实现的:

    Segue  VC1 -> VC2:  transition "Horizontal Flip"
    Unwind VC1 <- VC2:  transition "Partial Curl" (NOT backwards hor. flip)

我的环境:Xcode 11.1,Swift 4.2

ios swift xcode segue unwind-segue
1个回答
0
投票

您可以尝试下面的代码段。在该代码段中,从控制器中开始进行转换的unwindSegue.source。在您的情况下,它将是VC2。而且您可以在unwindToNewCard函数中为其设置modalTransitionStyle。

    @IBAction func unwindToNewCard(_ unwindSegue: UIStoryboardSegue) {
        unwindSegue.source.modalTransitionStyle = .crossDissolve
        unwindSegue.perform()
    }

希望有帮助。

PS:-如果尝试使用PartialCurl过渡,即使VC1-> VC2过渡样式也是PartialCurl,也会中断。似乎是一个错误。

© www.soinside.com 2019 - 2024. All rights reserved.