使用 UiButton 反复更改 UILabel 文本

Posted

技术标签:

【中文标题】使用 UiButton 反复更改 UILabel 文本【英文标题】:Repeatedly change UILabel text with UiButton 【发布时间】:2017-03-30 05:25:25 【问题描述】:

我有几个问题想用标签显示。当我按下重置按钮时,数组中的下一个问题不会出现。我不应该将问题放在数组中以便数组中的下一个元素出现吗?

func theFirstTwoQuestions() 

    // the questions will be contained in an Array
    // change the question label to one of the array values
    // when I press reset the next question will appear

    //self.questionLabel.text? = "\(questionsOneTwo)"
    questionLabel.isHidden = false
    var arrayQuestions = ["What's your name?", "How old are you", "your favorite color is?"]

    for question in arrayQuestions 

        questionLabel.text = arrayQuestions.first
     

    resetButton(sender: UIButton)
    arrayQuestions.remove(at: 1)
    questionLabel.text = arrayQuestions.first // "How old are you" is now the first question


【问题讨论】:

按钮代码在哪里?你正在按下按钮,你又在按下按钮? 这只是几行内容,您将标签文本更改了 4 次,仅此而已? 您能否具体说明您要使用theFirstTwoQuestions 方法做什么 @arunjos007 是的。函数“firstTwoQuestions”包含一系列问题。每个元素都将从标签中单独显示。 resetButton 将被按下,它会改变之前的标签文本。 好的,那么请用正确的格式和解释更新您的问题:-) 【参考方案1】:

这应该可以解决您的问题。

func theFirstTwoQuestions() 


// the questions will be contained in an Array
// change the question label to one of the array values
// when I press reset the next question will appear

    questionLabel.isHidden = false
    var arrayQuestions = ["What's your name?", "How old are you", "your favorite color is?"]
    var count = 0


    func onTapResetButton(sender: UIButton)
    
        self.questionLabel.text = self.arrayQuestions[count] as? String
        if(count < arrayQuestions.count-1)
        
            count += 1
        
        else
        
            count = 0
        
    

让我知道它是否对您有用。干杯:]

【讨论】:

不幸的是它没有用。按下开始按钮后,代码 questionLabel 文本没有更改为数组中的元素。 奇怪因为它对我有用。我在我的回答中添加了截图..你可以检查一下。

以上是关于使用 UiButton 反复更改 UILabel 文本的主要内容,如果未能解决你的问题,请参考以下文章

使用下一个和上一个 UIButton 在 UITextView/UILabel 中更改不同的文本

从 UILabel 或 UITextField 更改 UIButton 的标题

根据 UIButton 控件事件更改 UILabel

基于标签的多功能UIButton更改UILabel的线程中断

更改 UIView 内的 UIButton 框架

使用 UILabel 和 UIButton 显示用户标签