我希望用户按下四个按钮。按钮值为1,5,25和100。
我设置了一个标签,用于显示按下按钮的所有值的总和。
但是,由于我在IBAction按钮的代码中有等式,因此数字不会相加。我在之前的帖子中看到,曾经有过“连接动作”,它可以将故事板中的多个IBAction按钮连接到Swift的一个动作。我无法在Swift 3中找到该功能。
那么,如何将故事板中的多个IBActions按钮连接到Swift 3中的单个动作?
以下代码放在
之后override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
var oneButtonTapped = 0
var noButtonTapped = 0
@IBAction func oneButtonTapped(_ sender: AnyObject) {oneButtonTapped = oneButtonTapped + 1
//Aware that the location of the code is requiring the 1 button to be tapped to be update. TODO: Have the total update after every button tap
let totalAmount = (noButtonTapped + oneButtonTapped + fiveButtonTapped + twentyfiveButtonTapped + hundredButtonTapped)
Amount.text = String(totalAmount)
}
var fiveButtonTapped = 0
@IBAction func fiveButtonTapped(_ sender: AnyObject) {fiveButtonTapped = fiveButtonTapped + 5
}
var twentyfiveButtonTapped = 0
@IBAction func twentyfiveButtonTapped(_ sender: AnyObject) {twentyfiveButtonTapped = twentyfiveButtonTapped + 25
}
var hundredButtonTapped = 0
@IBAction func hundredButtonTapped(_ sender: AnyObject) {hundredButtonTapped = hundredButtonTapped + 100
}
提前感谢您的协助,非常感谢!
答案 0 :(得分:1)
这看起来非常类似于这个帖子Connecting Multiple Buttons to a single IBAction。基本上你可以使用Autolayout的连接工具来“控制”将故事板上的多个按钮拖动到你快速代码中以前创建的IBAction。
此链接Can multiple buttons be connected to a single IBAction有一些动画GIF,用于显示连接过程。
然后,您可以使用“sender”参数来引用触发代码的按钮。
就像你的代码看起来好像你的代码位于didReceiveMemoryWarning()函数内一样。
希望这有帮助。