gpt4 book ai didi

ios - 自定义Segue正确方法

转载 作者:行者123 更新时间:2023-11-30 13:56:50 25 4
gpt4 key购买 nike

目前我尝试开发自定义转场,它应该如下所示:

[目标 View ]应该在[源 View ]后面,这个[源 View ]应该从100%降到0.1%,然后删除,在动画时间内,[目标 View ]也应该在背景中.
因此,您会看到[源 View ]在[目标 View ]前面变小并被删除。

这是我的代码:

import UIKit

class CustomSegueFromBigtoSmall: UIStoryboardSegue {

override func perform() {

let sourceVC = self.sourceViewController
let destinationVC = self.destinationViewController

sourceVC.view.addSubview(destinationVC.view)

UIView.animateWithDuration(0.5, delay: 0.0, options: .CurveEaseInOut, animations: { () -> Void in

sourceVC.view.transform = CGAffineTransformMakeScale(0.1, 0.1)

}){ (finished) -> Void in

destinationVC.view.removeFromSuperview()

let time = dispatch_time(DISPATCH_TIME_NOW, Int64(0.001 * Double(NSEC_PER_SEC)))

dispatch_after(time, dispatch_get_main_queue(), { () -> Void in
sourceVC.presentViewController(destinationVC, animated: false, completion: nil)
})
}

}

}

现在我看到我的[源 View ],它立即变成我的[目标 View ]。
[目标 View ]在黑色背景前变小。一旦它变“小”,它就会显示为全屏。

最佳答案

我在 iOS 9 中执行此操作的方法是使用自定义 Segue 实现使其成为演示(模式)segue。然后,您的自定义转场只需调用 super.perform() 即可进行实际的演示。但首先,segue 将自身设置为目标的 transitionDelegate 并将其呈现样式设置为 Custom。现在,您只需使用自己的转换委托(delegate)和自己的 UIPresentationController 制作普通的自定义转换动画,并且可以按照良好的顺序执行任何您想要的操作。

关于ios - 自定义Segue正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33531441/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com