作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试设置一个简单的脉动环,它将突出显示一个按钮,以提示用户推荐的选择。我制作了简单的 fadeIn() 和 fadeOut() 函数,在 fadeOut() 中设置延迟,以便它会在 fadeIn() 完成时触发......或者至少这就是我的意图。结果是,当按下按钮时,铃声立即变为 alpha = 1,然后延迟 2 秒,然后在 2 秒内消失。一旦我有一个循环工作,我想将它放入一个循环中以在需要时保持它的运行。
如果单独执行,这两个函数都将按预期工作。我发现另一个线程处理简单的淡入或淡出,但不能同时处理两者。
我确信代码完全按照我告诉它的方式执行,但我不明白为什么它不起作用。有人可以指出我的错误吗?谢谢。
@IBOutlet weak var greenRing: UIImageView!
@IBAction func buttonPressed(sender: AnyObject)
{
fadeIn()
fadeOut()
}
func fadeIn() {
UIImageView.animateWithDuration(2.0, animations: {
self.greenRing.alpha = 1
})
}
func fadeOut() {
UIImageView.animateWithDuration(2.0, delay: 2.0, options: nil, animations: {
self.greenRing.alpha = 0
}, completion: nil)
}
override func viewDidLoad() {
super.viewDidLoad()
greenRing.alpha = 0
}
最佳答案
您可以通过一个重复的动画来达到您想要的效果。通过 .Autoreverse | .Repeat
作为 options:
到 animateWithDuration
,它会自动反转并重复淡入。
当按下按钮时,您可以通过调用greenRing.layer.removeAllAnimations()
如果您还添加选项 UIViewAnimationOption.CurveEaseInOut
,动画也可能看起来更好。所以:
.Autoreverse | .重复 | .CurveEaseInOut
关于ios - 如何让这个淡入淡出动画起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31841798/
我是一名优秀的程序员,十分优秀!