我怎样才能使背景色在每次按下按钮时连续闪现2个新颜色?现在它只显示两种颜色,但它们不会连续闪烁或闪烁。
import UIKit
class ViewController: UIViewController {
let colors: [UIColor] = [
.systemYellow,
.systemGreen,
.systemPurple,
.systemPink,
.systemRed,
.systemBlue,
.systemOrange,
.black,.gray
]
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = .clear
}
@IBAction func didTapButton() {
UIView.animate(withDuration: 1/2, delay: 0, options: .curveEaseOut, animations: {
self.view.backgroundColor = self.colors.randomElement()
}, completion: { finished in
print("another animation! - 1")
UIView.animate(withDuration: 1/2, delay: 0, options: .curveEaseOut, animations: {
self.view.backgroundColor = self.colors.randomElement()
}, completion: { finished in
print("another animation! - 2")
})
})
}
}
像这样的?
可以使用[.repeat,.autoreverse]
选项重复和反转彩色动画。
然后,由于按钮是您正在动画的视图的子视图(在动画过程中,通常禁用视图及其子视图的用户交互),您可以添加.AllowUserInteraction
选项以允许再次按下按钮。
@IBAction func didTapButton() {
let color1 = self.colors.randomElement()
let color2 = self.colors.randomElement()
self.view.layer.removeAllAnimations()
self.view.backgroundColor = color1 /// set to color1
UIView.animate(withDuration: 1, delay: 0, options: [.repeat, .autoreverse, .allowUserInteraction]) {
self.view.backgroundColor = color2 /// now animate to color2, reverse, then repeat
}
}
这款应用目前以黑屏开始,当按下中间的按钮时,它会在每次按下按钮时改变背景颜色。但我希望应用程序闪烁或闪烁2种不同的颜色:而不是只显示一种不闪烁的颜色。
这是因为在开发模式下,为了通过 Webpack 实现热加载,CSS代码是打包在 JavaScript 代码中,并动态打到页面中去,从而元素重绘引起了闪烁。 不用担心,在生产模式下,CSS代码会单独打包至独立的文件并置于head标签内,不会出现页面闪烁的现象。
我有一个JTextField,如果它有无效内容,它就会被清除。我想背景闪烁红色一到两次,以表明用户,这已经发生了。我尝试过: 但它是红色的,时间很短,不可能被看到。有什么提示吗?
我在Lollipop上的共享元素转换中看到了奇怪的事情。共享元素在开始动画之前闪烁(请看视频https://www.youtube.com/watch?v=DCoyyC_S-9A) 我不知道为什么会这样。但是,当我添加
我试图用pyplay制作一个游戏,我几乎完成了,但我想让被画在墙上的盒子不闪烁,这些红色的盒子在整个游戏中闪烁,我不想让它们闪烁,最后,我在一个if条件下调用player碰撞函数,在这里每当我制作新的碰撞器时,我每次都要在if条件下添加函数,我想要的是碰撞器对象自动调用这个函数,而不需要我在if语句中为碰撞器的每个实例调用它对象。请指导我如何这样做。
减低闪烁 以Interlace(交错扫描)方式在电视机输出PSP™规格软件的影像时,设定是否要减低画面的闪烁。 关 不减低画面的闪烁。 开 减低画面的闪烁。