
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所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)