如何在单独的文本字段或标签中显示我单击的所有按钮的标题
How do I display the titles of all buttons that I click in a separate textfield or label
目前我有一个按钮,它执行显示按钮标题(在文本字段中)以及在控制台中打印它的任务。现在我只能显示我单击的一个按钮的标题。单击另一个按钮将删除前一个按钮的标题并将其替换为新按钮的标题。我如何才能保留以前按钮的标题,即单击多个按钮并在文本字段中一个接一个地显示所有标题?
import UIKit
class GameScreenViewController: UIViewController {
@IBOutlet weak var txtFieldUserAnswer: UITextField!
@IBOutlet weak var answerTxtLabel: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
@IBAction func goBackBtn(_ sender: UIButton) {
self.performSegue(withIdentifier: "GameScreenToHomeScreen", sender: self)
}
@IBAction func btn1Pressed(_ sender: UIButton) {
print(sender.currentTitle!)
answerTxtLabel.text = sender.currentTitle
//Displays "1" in the answer text label.
}
@IBAction func btn2Pressed(_ sender: UIButton) {
print(sender.currentTitle!)
answerTxtLabel.text = sender.currentTitle
//Displays a "2" in the answer text label.
}
@IBAction func btn3Pressed(_ sender: UIButton) {
print(sender.currentTitle!)
answerTxtLabel.text = sender.currentTitle
}
@IBAction func cancelBtn(_ sender: UIButton) {
answerTxtLabel.text = nil
//clears everything in the textfield
}
}
创建 Array
以保留标题
import UIKit
class GameScreenViewController: UIViewController {
@IBOutlet weak var txtFieldUserAnswer: UITextField!
@IBOutlet weak var answerTxtLabel: UITextField!
var titles = [String]() {
didSet {
answerTxtLabel.text = titles.joined(separator: ", ")
}
}
@IBAction func goBackBtn(_ sender: UIButton) {
self.performSegue(withIdentifier: "GameScreenToHomeScreen", sender: self)
}
@IBAction func btn1Pressed(_ sender: UIButton) {
titles.append(sender.currentTitle!)
}
@IBAction func btn2Pressed(_ sender: UIButton) {
titles.append(sender.currentTitle!)
}
@IBAction func btn3Pressed(_ sender: UIButton) {
titles.append(sender.currentTitle!)
}
@IBAction func cancelBtn(_ sender: UIButton) {
titles.removeAll()
//clears everything in the textfield
}
}
您可以对所有三个回答按钮使用 一个 IBAction
。
目前我有一个按钮,它执行显示按钮标题(在文本字段中)以及在控制台中打印它的任务。现在我只能显示我单击的一个按钮的标题。单击另一个按钮将删除前一个按钮的标题并将其替换为新按钮的标题。我如何才能保留以前按钮的标题,即单击多个按钮并在文本字段中一个接一个地显示所有标题?
import UIKit
class GameScreenViewController: UIViewController {
@IBOutlet weak var txtFieldUserAnswer: UITextField!
@IBOutlet weak var answerTxtLabel: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
@IBAction func goBackBtn(_ sender: UIButton) {
self.performSegue(withIdentifier: "GameScreenToHomeScreen", sender: self)
}
@IBAction func btn1Pressed(_ sender: UIButton) {
print(sender.currentTitle!)
answerTxtLabel.text = sender.currentTitle
//Displays "1" in the answer text label.
}
@IBAction func btn2Pressed(_ sender: UIButton) {
print(sender.currentTitle!)
answerTxtLabel.text = sender.currentTitle
//Displays a "2" in the answer text label.
}
@IBAction func btn3Pressed(_ sender: UIButton) {
print(sender.currentTitle!)
answerTxtLabel.text = sender.currentTitle
}
@IBAction func cancelBtn(_ sender: UIButton) {
answerTxtLabel.text = nil
//clears everything in the textfield
}
}
创建 Array
以保留标题
import UIKit
class GameScreenViewController: UIViewController {
@IBOutlet weak var txtFieldUserAnswer: UITextField!
@IBOutlet weak var answerTxtLabel: UITextField!
var titles = [String]() {
didSet {
answerTxtLabel.text = titles.joined(separator: ", ")
}
}
@IBAction func goBackBtn(_ sender: UIButton) {
self.performSegue(withIdentifier: "GameScreenToHomeScreen", sender: self)
}
@IBAction func btn1Pressed(_ sender: UIButton) {
titles.append(sender.currentTitle!)
}
@IBAction func btn2Pressed(_ sender: UIButton) {
titles.append(sender.currentTitle!)
}
@IBAction func btn3Pressed(_ sender: UIButton) {
titles.append(sender.currentTitle!)
}
@IBAction func cancelBtn(_ sender: UIButton) {
titles.removeAll()
//clears everything in the textfield
}
}
您可以对所有三个回答按钮使用 一个 IBAction
。