gpt4 book ai didi

objective-c - 使用 fadeIn/fadeOut CABasicAnimation 的闪烁效果

转载 作者:搜寻专家 更新时间:2023-11-01 05:38:49 25 4
gpt4 key购买 nike

我正在尝试使图层动画无限闪烁(淡入和淡出,直到 isBlinking 属性切换为 false),我的尝试如下,但它似乎无法正常工作,我可以观察一下每隔几次眨眼就会出现一个故障。当属性设置为 false 时,我还希望图层淡入完全不透明,这样就不会有任何突然的不透明度变化,但出于某种原因,我的代码也无法做到这一点。

var isBlinking: Bool = false {
didSet {
if !isBlinking {
layer.removeAllAnimations()
let fadeIn = CABasicAnimation(keyPath: "opacity")
fadeIn.toValue = 1
fadeIn.duration = 1
layer.addAnimation(fadeIn, forKey: nil)
return
}

let fadeOut = CABasicAnimation(keyPath: "opacity")
fadeOut.fromValue = 1
fadeOut.toValue = 0.1
fadeOut.duration = 1

let fadeIn = CABasicAnimation(keyPath: "opacity")
fadeIn.fromValue = 0.1
fadeIn.toValue = 1
fadeIn.duration = 1
fadeIn.beginTime = 1

let group = CAAnimationGroup()
group.duration = 2
group.repeatCount = Float.infinity
group.animations = [fadeOut, fadeIn]

layer.addAnimation(group, forKey: nil)
}
}

如果有任何关于 swift 或 obj-c 的建议或意见,我将不胜感激。谢谢!

最佳答案

你的 fromValues 和 toValues 需要是 NSNumber

    fadeIn.fromValue = NSNumber(float: 0.1)
fadeIn.toValue = NSNumber(float: 1.0)

关于objective-c - 使用 fadeIn/fadeOut CABasicAnimation 的闪烁效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33433711/

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