微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Swift textFieldDidChangeSelection 未在 ios 12 中调用

如何解决Swift textFieldDidChangeSelection 未在 ios 12 中调用

所以我制作了这个函数,当 2 个文本字段达到最小文本计数时触发,将使按钮被启用。

它适用于 ios 13 及更高版本,但它不适用于 ios 12....我不知道它如何以及为什么不起作用

所以基本上我的 textFieldDidChangeSelection 不会在我在文本字段上输入时触发任何内容......

我尝试在 textFieldDidChangeSelection 上打印一些内容,但在控制台上没有打印任何内容

这是我的代码

//这是我的函数代码

func buttonReady() {
    if phoneNumberTextField.text!.count > 8 &&   textPinTextField.text!.count == 6{
          loginButton.isUserInteractionEnabled = true
          loginButton.backgroundColor = UIColor.init(string:    COLOR_RED)
          loginButton.setTitleColor(UIColor.white,for: .normal)
          print("ahaaaa ??")
      } else {
          loginButton.isUserInteractionEnabled = false
          loginButton.backgroundColor = UIColor.init(string: COLOR_GREY_BUTTON)
          loginButton.setTitleColor(UIColor.init(string: COLOR_GREY_TEXT),for: .normal)
          print("hmmmm ?")
      }
  }

在这里使用那个函数

func textFieldDidChangeSelection(_ textField: UITextField) {
    if textField == phoneNumberTextField {
        buttonReady()
        
    }
    if textField == textPinTextField {
        buttonReady()
        
    }
    
}

这里

override func viewDidLoad() {
    super.viewDidLoad()
    
    // Do any additional setup after loading the view.
    
    buttonReady()
    hideKeyboardWhenTappedAround()
}

我使用 SkyFloatingLabelTextFIeld 作为我的自定义文本字段

我仍然不明白为什么那个 func 不能在 ios12 上运行,而它可以在 ios 13 及更高版本上运行

解决方法

同样的问题

你可以试试这个

    override func viewDidLoad() {
    super.viewDidLoad()
    
    // Do any additional setup after loading the view.
    phoneNumberTextField.addTarget(self,action: #selector(textFieldDidChange),for: .editingChanged)
    textPinTextField.addTarget(self,for: .editingChanged)
    buttonReady()
    hideKeyboardWhenTappedAround()
}

    @objc func textFieldDidChange() {
    buttonReady()
}
,

查看 UITextField.h,你会看到:

- (void)textFieldDidChangeSelection:(UITextField *)textField API_AVAILABLE(ios(13.0),tvos(13.0));

textFieldDidChangeSelection 仅适用于 iOS 13.0 及更高版本。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。