我正在使用SwiftUI构建Simon Says应用程序,而在构建该应用程序时,我遇到了一个错误。 问题出在下面我键入的一个特定功能上。 此功能设置Simon Says按钮的alpha(只是按下按钮的简单动画)并将其设置回0.5。我希望每次在每个视图上都运行一次,因为到目前为止,动画同时在所有按钮上运行。
所有帮助将不胜感激!
Sub Test()
Dim Mn As Long, Mx As Long, X As Long
With ThisWorkbook.Sheets(1)
.Range("A:A").Clear
Mn = Application.InputBox(prompt:="Minimum", Type:=1)
Mx = Application.InputBox(prompt:="Maximum", Type:=1)
If Mn > 0 And Mx > 0 Then
For X = Mn To Mx
.Cells(X, 1).Value = X
Next X
End If
End With
End Sub
答案 0 :(得分:1)
也许类似的事情会起作用...
等待是异步执行的,因此增加了每个按钮的初始等待时间,以便及时将它们隔开:
public class CustomLabel: UILabel {
override public var font: UIFont! {
get { return super.font }
set {
super.font = UIFont(name: "Font-Name", size: super.font.pointSize)
}
}
}
答案 1 :(得分:0)
我在这里盲目飞行,但是您用信号量实现了什么。从下面的代码改编:
let semaphore = DispatchSemaphore(value: 0)
for index in settings.guessArray {
semaphore.wait() // When animation on one button begins
wait(time: 2.0) {
settings.alphas[index] = 1.0
wait(time: 0.3) {
settings.alphas[index] = 0.5
semaphore.signal() // When animation on a button finishes
}
}
}