[英]In Xcode using Swift, how can one make a press on, release off, button?
[英]How Can I Make the Score Go Up One Point When a Button is Clicked on XCode using Swift
对不起这个简单的问题,我对IOS开发还很陌生。 我想做的是使UILabel(设置为0)在每次按下按钮时都增加1。 这是在ViewController.swift上给定的默认代码,我为Label和Action创建了一个Outlet。
import UIKit
class ViewController: UIViewController {
@IBOutlet var score: UILabel!
@IBAction func button(sender: UIButton) {
}
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
CHANGE LABEL NAME TO BE MORE DESCRIPTIVE
CREATE SCORE VARIABLE AND START IT AT 0 SO YOU HAVE A SCORE TO PRESENT FROM THE START
MAKE IT BEAUTIFUL
import UIKit
class ViewController: UIViewController {
@IBOutlet var scoreLabel: UILabel!
private var score = 0
@IBAction func button(sender: UIButton) {
score += 1
scoreLabel.text = "\(score)"
}
override func viewDidLoad() {
super.viewDidLoad()
scoreLabel.text = "\(score)"
scoreLabel.backgroundColor = UIColor.pinkColor()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
您需要一个变量来计数。 像var counter = 0
这样的东西,然后在func按钮中,将counter +=1
和score.text = "\\(counter)"
。 我现在没有在Xcode上尝试过,但是据我所知应该可以
这可以是一种方法:
@IBOutlet weak var scoreLabel: UILabel!
@IBAction func updateScore(sender: AnyObject) {
//Check if String can be parsed to integer
if let score = NSNumberFormatter().numberFromString(scoreLabel.text!) {
var myInt = score.integerValue
myInt = myInt + 1
scoreLabel.text = "\(myInt)"
} else {
scoreLabel.text = "0"
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.