【问题标题】:checking textField info in Swift在 Swift 中检查 textField 信息
【发布时间】:2017-06-26 21:49:04
【问题描述】:

我在文本字段旁边有一个 UIImage。如果文本字段通过格式测试,我希望图像更改(检查)。所以,如果输入了六个字符,图像就会改变。我尝试使用 textFieldDidChange 但我认为只有在第一次更改字段时才会调用此函数。是否有一个我可以使用的函数,每次输入一个字符时都会调用它?有没有更好的方法?

【问题讨论】:

    标签: swift xcode


    【解决方案1】:

    对编辑更改的事件使用操作。这可以通过 IBAction 或手动添加目标来完成。

    IBAction

    在您的视图控制器中添加此方法,并将插座连接到您的 xib 或情节提要中的 editingChanged 事件:

    @IBAction func textFieldChanged(_ sender: UITextField) {
        // Your code here
    }
    

    添加目标

    override func viewDidLoad() {
        super.viewDidLoad()
    
        yourTextField.addTarget(self, action: #selector(textFieldChanged(_:)), for: .editingChanged)
    }
    
    func textFieldChanged(_ sender: UITextField) {
        // Your code here
    }
    

    【讨论】:

    • 谢谢!我将 IBAction 与 if/else 语句一起使用。
    【解决方案2】:

    根据Apple's documentation。在讨论部分,它说,

    每当用户操作导致其文本发生更改时,文本字段都会调用此方法。使用此方法验证用户键入的文本。

    “这个方法”指的是textField(_:shouldChangeCharactersIn:replacementString:)

    这是完整的方法:

    func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
        <code>
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-02
      • 1970-01-01
      • 1970-01-01
      • 2011-12-12
      • 2017-10-11
      • 2023-03-27
      • 1970-01-01
      相关资源
      最近更新 更多