UITextFieldDelegate:如何选择为每个单独的 TextField 调用哪些方法

Posted

技术标签:

【中文标题】UITextFieldDelegate:如何选择为每个单独的 TextField 调用哪些方法【英文标题】:UITextFieldDelegate: How to select which methods gets called for each individual TextField 【发布时间】:2020-05-11 22:34:42 【问题描述】:

目前我有一个符合 UITextFieldDelegate 的类。在这个类中,我有两个文本字段:密码和电话号码。另外,我还有两种方法: 1:func textFieldShouldBeginEditing(UITextField) -> Bool 2:func textFieldDidEndEditing(UITextField,原因:UITextField.DidEndEditingReason)

如何将我的密码文本字段与第一个函数关联,而不是与另一个函数关联,反之亦然?本质上,当我设置文本字段委托时,我希望能够选择为每个受尊重的文本字段调用哪些方法?

【问题讨论】:

【参考方案1】:

您可以检查它是否是您要使用的我委托功能的字段

func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool 
    if textField == Password 
      return true
    
    return false


func textFieldDidEndEditing(_ textField: UITextField) 
    if textField == phoneNumber 
        // do something
    

【讨论】:

以上是关于UITextFieldDelegate:如何选择为每个单独的 TextField 调用哪些方法的主要内容,如果未能解决你的问题,请参考以下文章

UITextFieldDelegate 不工作

UITextFieldDelegate 和整行删除

在 Swift 中创建 UITextFieldDelegate 以限制字符数

当我遵守协议时,关于分配给 id<UITextFieldDelegate> 的警告

IOS 键盘协议之中的一个 &lt;UITextFieldDelegate&gt;

如何从coredata swift中随机选择一个元素