首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CAKeyframeAnimation标度

CAKeyframeAnimation标度
EN

Stack Overflow用户
提问于 2017-10-30 19:55:26
回答 1查看 441关注 0票数 1

我不打算使用UIView来调整keyframeAnimation的大小,因为当标签文本下降时,它必须与标签文本同步。

所以我已经设置了尺寸动画

代码语言:javascript
复制
        let sizeAnimation = CAKeyframeAnimation(keyPath: "transform.scale")
        sizeAnimation.duration = 1.2

        let animationTime = TimeInterval(1.2/Float(volumeObjects.count - 1))
        // Stride is an inverted for in, it goes from volumeObjects count to 0

        var sizeAnimationValuesArray = [NSValue]()
        var keyTimes = [NSNumber]()
        var currentKeyTime: TimeInterval = 0
        for index in stride(from: volumeObjects.count - 1, to: -1, by: -1) {

            let currentPercentage = CGFloat(index)/CGFloat(volumeObjects.count)
            sizeAnimationValuesArray.append(NSValue(caTransform3D: CATransform3DMakeScale(1.0, currentPercentage, 1.0)))
            keyTimes.append(NSNumber(value: currentKeyTime))
            currentKeyTime += animationTime
        }
        sizeAnimation.values = sizeAnimationValuesArray

        self.indicatorView.layer.add(sizeAnimation, forKey: "Bottom")

但出于某种原因,它不起作用,实际上什么都没有发生

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-30 19:57:23

实际上,您没有将keyTimes数组用于任何事情。您用时间填充了它,但是没有将它分配给动画。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47023205

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档