繁体   English   中英

单击时更改按钮标题

[英]Change button title when clicking it

class ViewController: UIViewController {

    @IBOutlet weak var words: UILabel!

    var positiveWords = ["dont give up","keep going","you can do that","your are strong"]

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }


    @IBAction func wordsButton(_ sender: Any) {

        for w in positiveWords {

         // show array in label
            words.text = "\(w)" 

        }

    }
}

当我单击按钮时,它只显示一个单词,但我想在单击时显示另一个单词,我该怎么做?

显示给用户的单词是字符串的 positiveWords 数组的最后一个,因为您使用控制流For-In 循环,它枚举数组并将当前元素设置为标签。

解决方案:

标准库数组函数joined(separator:)

@IBAction
func wordsButton(_ sender: Any) {

    words.text = positiveWords.joined(separator: ", ")

}

For-In 循环

func wordsButton(_ sender: Any) {

    var labelWord: String = ""
    for word in positiveWords {
        labelWord = labelWord + ", " + word
    }
    words.text = labelWord
}

你的问题有点含糊。 但这里有不同的方法来解决您的问题

//Wil generate different word every time you press the button
   func wordsButton(_ sender: Any) { 
        words.text = positiveWords.randomElement(
   } 

如果你想一次添加整个数组

  func wordsButton(_ sender: Any) { 
     for w in positiveWords {
            words.text! += "\(w) "
        } 
  } 

如果你想一次添加一个

var displayedWords = o
  func wordsButton(_ sender: Any) { 
     var totalWords = positiveWords.count
        if displayedWords < totalWords {
            label.text! += "\(positiveWords[displayedWords]) "
            displayedWords += 1
        }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM