【发布时间】:2018-06-21 03:20:17
【问题描述】:
我正在尝试为我的按钮设置一个循环间隔计时器,一旦它们被用户按下。例如,一旦按下“红色”交通信号灯,它将循环显示其余颜色(按顺序),每次 5 秒。
import UIKit
class ViewController: UIViewController {
var timer : Timer?
func redButton() {
timer = Timer.scheduledTimer(timeInterval: 5, target: self, selector: Selector(("redButton")), userInfo: nil, repeats: true)
}
func redButton() {
}
var lightRed = true;
var lightYellow = true;
var lightGreen = true;
@IBOutlet weak var stopLabel: UILabel!
@IBAction func redButton(_ sender: Any) {
//TODO: Show text information when 'stop' button is clicked
stopLabel.text = "Red means stop! Do not proceed forward."
lightRed = !lightRed
if lightRed {
view.backgroundColor = .white
} else {
view.backgroundColor = .red
}
}
@IBOutlet weak var waitLabel: UILabel!
@IBAction func yellowButton(_ sender: Any) {
//TODO: Show text information when 'slow' button is clicked
waitLabel.text = "Yellow means wait, or slow down, as it is about to turn red!"
lightYellow = !lightYellow
if lightYellow {
view.backgroundColor = .white
} else {
view.backgroundColor = .yellow
}
}
@IBOutlet weak var goLabel: UILabel!
@IBAction func greenButton(_ sender: Any) {
//TODO: Show text information when 'go' button is clicked
goLabel.text = "Green means go! Now is the time to proceed forward"
lightGreen = !lightGreen
if lightGreen {
view.backgroundColor = .white
} else {
view.backgroundColor = .green
}
}
}
【问题讨论】:
标签: swift loops nstimer nstimeinterval