【问题标题】:Change uitextField placeHolder from UIButton action从 UIButton 操作更改 uitextField placeHolder
【发布时间】:2020-07-28 15:32:26
【问题描述】:

我有一个按钮操作来检查两个 uitextfield.text 值是否为空,这意味着用户没有输入任何内容,如果是这样,那么我们更改 placeHolder 文本。

代码片段:

    let qArr1 = ["sample1", "sample2", "sample3"]
    let qArr2 = ["sample4", "sample5", "sample6"]
    
    var indexA = Int.random(in: 0..<qArr1.count)
    var indexB = Int.random(in: 0..<qArr2.count)
    
    objc
    func submit(_ sender: UIButton) {
       if textFieldA.text.isEmpty || textField2.text.isEmpty {
       // present an alert to the user
       textFieldA.placeHolder = qArr1[indexA]
       textFieldB.placeHolder = qArr2[indexB]
     } 
     // perform actions if textFields have entered values
}

我从字符串数组中随机获取 placeHolder 文本。所以每次你有空的 textFields 时,placeHolder 都应该使用从数组中随机选择的新字符串进行更新。

问题 placeHolder 文本未在相应的文本字段中更新。

我确定我错过了一个简单的步骤。

【问题讨论】:

  • 我刚刚在一个测试项目中试了一下,效果很好。您将必须提供视图控制器的完整代码,或者甚至可能提供指向 Github 存储库的链接,其中包含显示您描述的问题的最小应用程序。 (您是否在提交函数上设置了断点并确保它被调用?在没有@IBAction 标记的情况下如何将按钮操作连接到该函数?)

标签: arrays swift uibutton uitextfield uitextfielddelegate


【解决方案1】:

我运行你的代码有多个错误,现在我更新你的代码如下:-

 let qArr1 = ["sample1", "sample2", "sample3"]
 let qArr2 = ["sample4", "sample5", "sample6"]

 var indexA = Int()
 var indexB = Int()


@IBAction func submit(_ sender: UIButton) {

   self.indexA = Int.random(in: 0..<qArr1.count)
   self.indexB = Int.random(in: 0..<qArr2.count)

   if textFieldA.text!.isEmpty || textField2.text!.isEmpty {
        textFieldA.placeholder = qArr1[indexA]
        textFieldB.placeholder = qArr2[indexB]
    } 
   // perform actions if textFields have entered values
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-29
    • 2017-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多