Button
を無効にする方法を作成しようとしています。これは私が作ったアプリです。それは卵のタイマーです。私は1つのバグに遭遇します。再生ボタンを複数回押すとタイマーのスピードが上がり、止めることができません。私はディセーブル機能を作りたいと思っていますが、私がフォーラムで見たことのすべてが使い方を述べています。 enable = true
。このXcodeを使用すると、有効ではないことがわかります。 Xcode 8のボタンを有効または無効にするための適切なコードは何ですか?ボタンを有効または無効にするXcode 8
import UIKit
class ViewController: UIViewController {
var timer = Timer()
var myCount = 210
var button = 0
func processTimer() {
//what happens every second
counter()
}
func startTimer() {
timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(ViewController.processTimer), userInfo: nil, repeats: true)
button = 1
}
func pauseTimer() {
timer.invalidate()
button = 0
}
func resetTimer(){
timer.invalidate()
myCount = 210
countdown.text = "\(myCount)"
button = 0
}
func counter() {
myCount -= 1
if myCount > 0 {
countdown.text = "\(myCount)"
} else {
countdown.text = "0"
timer.invalidate()
}
}
func add(){
myCount += 10
if myCount > 0 {
countdown.text = "\(myCount)"
} else {
countdown.text = "0"
}
}
func sub(){
myCount -= 10
if myCount > 0 {
countdown.text = "\(myCount)"
} else {
countdown.text = "0"
}
}
// timer countdown
@IBOutlet var countdown: UILabel!
// pause button
@IBAction func pauseButton(_ sender: AnyObject) {
pauseTimer()
print("Timer Paused")
}
//play button
@IBAction func playButton(_ sender: AnyObject) {
startTimer()
print("Timer started")
}
// -10 seconds
@IBAction func minusTen(_ sender: AnyObject) {
sub()
}
// reset timer to 290
@IBAction func resetButton(_ sender: AnyObject) {
resetTimer()
print("Timer Reset")
}
// +10 seconds
@IBAction func addTen(_ sender: AnyObject) {
add()
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
countdown.text = "\(myCount)"
if button == 0{
playButton.enabled = true
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
'enabled' - >' isEnabled' – matt