【问题标题】:Want to change button title by clicking one of the button in swift?想要通过单击 swift 中的按钮之一来更改按钮标题?
【发布时间】:2019-11-15 19:32:25
【问题描述】:

我有四个带有标签“1”、“2”、“3”和“4”的按钮。当我单击任何一个按钮时,我想更改所有按钮的标题。我的代码是 -

@IBAction func answerButtonAction(_ sender: UIButton) {                

    if answerButton.tag == 1 {

    answerButton.setTitle(questionBank.list[questionNumber].answer1, 
    for: .normal)
    } else if answerButton.tag == 2 {

    answerButton.setTitle(questionBank.list[questionNumber].answer2, 
    for: .normal)
    } else if answerButton.tag == 3 {

  answerButton.setTitle(questionBank.list[questionNumber].answer3, 
  for: .normal)
    } else {

  answerButton.setTitle(questionBank.list[questionNumber].answer4, 
  for: .normal)   
    }
}

但我的代码不起作用

【问题讨论】:

  • 每个按钮需要添加一个IBOutlet
  • 请编辑您的问题并显示answerButtonque.answer1que.answer2que.answer3que.answer4 声明
  • 我想更改所有按钮的标题。真的吗?还是只想更改当前按下按钮的标题?
  • 删除所有if/else?

标签: swift uibutton


【解决方案1】:

您可以创建您的@IBOutlet 集合,例如:

@IBOutlet private var buttons: [UIButton]!

然后在你的函数中:

@IBAction func answerButtonAction(_ sender: UIButton) {  

    let answers = [que.answer1, que.answer2, ...]

    zip(buttons, answers).forEach { (button, answer) in
        button.setTitle(answer, for: .normal)
    }              
}

【讨论】:

  • 好主意,我很高兴尝试一下!
【解决方案2】:

//设置UIButton标题

让按钮 = UIButton()

button.setTitle("My Amazing Button", for: .normal)

请试试这个。

一个类似的帖子也在这里,希望这会有所帮助:

Changing text of UIButton programmatically swift

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2014-04-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多