我最近开始学习和使用 Xcode,但遇到了一些问题。
我需要一个可变的速度
,以便我按住屏幕时每秒增加 1。我读过the docs但我几乎什么都不懂,而且很多信息看起来与我正在做的事情无关。这是我现在拥有的代码:
class ViewController: UIViewController {\
@IBOutlet weak var counterLabel: UILabel!
var counter = 0
// The number of seconds after which to update
var speed = 1
override func viewDidLoad() {
super.viewDidLoad()
counterLabel.text = "\(counter)"
}
@IBAction func screenHeld(_ sender: Any) {
// Need to add code here
}
}
最佳答案
- 创建一个全局
Timer
变量。当用户触摸屏幕时, 计时器已启动。 计时器
将递增您的全局变量。还要检查计时器回调中是否满足您的条件。- 当用户从屏幕上松开手指时,计时器将失效,并且全局变量将重置为零。
这里是未经测试的代码,可以帮助您入门:
var timer: Timer?
var myCounter = 0
// Connect to the corresponding control or the tap recognizer.
@IBAction func screenBeginTouch(_ sender: Any)
{
self.timer = Timer.scheduledTimer(withTimeInterval: 1.0, repeats: true)
{
timer in
self.myCounter += 1
// Check condition here
}
}
// Connect to the corresponding control or the tap recognizer.
@IBAction func screenEndTouch(_ sender: Any)
{
self.timer?.invalidate()
self.timer = nil
self.myCounter = 0
}
关于loops - 在 Xcode 上,只要屏幕保持不动,如何将变量 'counter' 每秒增加 1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56928968/