-1
下面的代码是一个计时器。 3秒后,我希望用户能够关闭定时器。我试图解释我在评论的部分中想要做的事情 - 我尝试了我注释的内容,但没有奏效。我想保持代码相同,我只需要找到一种方法来停止使用UIButton i
的计时器。如何从UIButton停止计时器?
import UIKit
class ViewController: UIViewController {
@IBOutlet var i: UIButton!
@IBOutlet var u: UILabel!
var time = 0
var timer = Timer()
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func start(_ sender: Any) {
b()
}
func action() {
time += 1
u.text = String(time)
if time == 2 {
u.alpha = 0
}
else if time > 3 {
u.alpha = 0.5
// if i.isSelected{
// timer.invalidate}
}
else {
return
}
}
func b(){
timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(ViewController.action), userInfo: nil, repeats: true)
}
没有点检查'nil',*不*绑定,然后使用条件链。 http://pastebin.com/Nghur9XK – Alexander
可能需要使用'invalidate()'而不仅仅是'invalidate'。编译器不会给你一个警告吗? – jtbandes
@vadian这个工作,但是按钮我是不会导致计时器停止。启动按钮是导致计时器开始停止的原因。我想按钮i让计时器停止。 –