ios – 如何暂停和恢复UIView.animateWithDuration

ios – 如何暂停和恢复UIView.animateWithDuration,第1张

概述我有一个图像,我使用此代码为viewDidAppear设置动画: UIView.animateWithDuration(10.5, delay:0.0, options: [], animations:{self.myImage.transform = CGAffineTransformMakeTranslation(0.0, 200)}, completion: nil) 我想点击myPau 我有一个图像,我使用此代码为vIEwDIDAppear设置动画:
UIVIEw.animateWithDuration(10.5,delay:0.0,options: [],animations:{self.myImage.transform = CGAffinetransformMakeTranslation(0.0,200)},completion: nil)

我想点击myPausebutton时暂停动画,如果我再次点击它,则恢复动画.

解决方法 暂停和恢复动画的2个功能,我从 here开始转换为Swift.
func pauseLayer(layer: CALayer) {    let pausedTime: CFTimeInterval = layer.convertTime(CACurrentMediaTime(),fromLayer: nil)    layer.speed = 0.0    layer.timeOffset = pausedTime}func resumeLayer(layer: CALayer) {    let pausedTime: CFTimeInterval = layer.timeOffset    layer.speed = 1.0    layer.timeOffset = 0.0    layer.beginTime = 0.0    let timeSincePause: CFTimeInterval = layer.convertTime(CACurrentMediaTime(),fromLayer: nil) - pausedTime    layer.beginTime = timeSincePause}

我有一个按钮来暂停或恢复在vIEwDIDLoad中初始化的动画:

var pause = falseoverrIDe func vIEwDIDAppear(animated: Bool) {    super.vIEwDIDAppear(animated)    UIVIEw.animateWithDuration(10.5,animations:{        self.image.transform = CGAffinetransformMakeTranslation(0.0,200)        },completion: nil)}@IBAction func changeState() {    let layer = image.layer    pause = !pause    if pause {        pauseLayer(layer)    } else {        resumeLayer(layer)    }}
总结

以上是内存溢出为你收集整理的ios – 如何暂停和恢复UIView.animateWithDuration全部内容,希望文章能够帮你解决ios – 如何暂停和恢复UIView.animateWithDuration所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1108630.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-29
下一篇2022-05-29

发表评论

登录后才能评论

评论列表(0条)

    保存