ios - 更改两个文本字段的颜色

标签 ios swift uitextfield

我的静态 TableView 有两组单独的字段:

 Group 1
     Row 1: UITextField - emailOne 
     Row 2: UITextField - confirmEmailOne

 Group 2
     Row 3: UITextField - emailTwo
     Row 4: UITextField - confirmEmailTwo

我想根据下一个逻辑更改字段的颜色:然后我在 emailOne 中输入一个字符,它应该立即检查它是否等于 confirmEmailOne 字段的文本。如果不是 - 它应该突出两个字段:emailOne 和 confirmEmailOne。我将电子邮件字段连接到 Storyboard :
 @IBOutlet weak var firstEmailOne: UITextField!
 @IBOutlet weak var firstEmailTwo: UITextField!
 @IBOutlet weak var secondEmailOne: UITextField!
 @IBOutlet weak var secondEmailTwo: UITextField!

之后,我在 viewDidLoad 的数组中添加了这个字段并添加目标:
 comparableArray[firstEmailOne] = 1
 comparableArray[firstEmailTwo] = 1
 comparableArray[secondEmailOne] = 2
 comparableArray[secondEmailTwo] = 2
 for row in comparableArray {            
     row.key.addTarget(self, action: #selector(textFieldDidChange(_:)), for: .editingChanged)
 }

在这里@objc func :
 @objc func textFieldDidChange(_ textField: UITextField) {

    let groupOfField = comparableArray[textField]
    var checkedArray = [UITextField]()
    for row in comparableArray {
        if row.value == groupOfField {
            checkedArray.append(row.key)
        }
    }
    if checkedArray[0].text == checkedArray[1].text {
          // Error here: the color does not change.
          checkedArray[0].textColor = UIColor.black
          checkedArray[1].textColor = UIColor.black

    } else {
          // Error here: the color does not change.
          checkedArray[0].textColor = UIColor.red
          checkedArray[1].textColor = UIColor.red
    }

问题:两个字段的颜色都没有变化。它总是在具有当前焦点的字段中发生变化。我试图执行 checkedArray[0].textColorDispatchQueue.main但它无论如何都没有改变。

最佳答案

我建议将断点添加到您在 textFieldDidChange 中设置 textColors 的位置,并在索引处设置 po checkedArray 的 textColor 并查看某个点的颜色。

从那里你可以弄清楚为什么它没有改变颜色以及颜色改变的确切点。

关于ios - 更改两个文本字段的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48544478/

相关文章:

iOS:当用户点击时将字符添加到字符串

ios - 在通话过程中打开应用程序时相机卡住

ios - Xcode 服务器 ibtool 构建失败

ios - 像 swift 中的 iBooks 一样的翻页动画

ios - 2个数组中的元素相乘和相加

swift - 如何在 tvOS 中为密码创建复合 UITextField

ios - 为什么我的标签在从 UITextField 更新 UILabel 时留下了 1 个字符?

当使用密码锁定屏幕时,IOS 应用程序无法在后台访问文件

ios - Apple 关于检查有效网络连接的规则

ios - 添加到父 View Controller 时如何修复 subview 未显示在 subview Controller 中的问题