如何在没有委托的情况下处理 UITextField 值更改? [关闭]

Posted

技术标签:

【中文标题】如何在没有委托的情况下处理 UITextField 值更改? [关闭]【英文标题】:How to handle UITextField value change without delegate? [closed] 【发布时间】:2016-04-29 06:37:11 【问题描述】:

UITextFieldDelegate中有一个方法

textField(_:shouldChangeCharactersInRange:replacementString:)

这让我可以做到。但是我希望自定义文本字段自动处理它以在没有委托的情况下更新其状态,并且我不想在内部使用委托,因为它可以被覆盖。我该怎么做?

例如,有一个方法 - becomeFirstResponder,当文本字段不再是第一响应者时,我重写它以显示/隐藏验证错误,但似乎没有任何东西可以处理文本属性更改,或者我没有专心?

【问题讨论】:

【参考方案1】:

你可以使用UITextFieldTextDidChangeNotification

或者您可以进行子类化,这样您就可以成为您自己的委托,并将委托调用转发给另一个添加的委托(因此您的内部委托是真正委托的代理,处理调用然后转发它)。

【讨论】:

以上是关于如何在没有委托的情况下处理 UITextField 值更改? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

哪个 UITextField 委托方法将被调用而无需重新设置键盘?

如何在没有按钮的情况下在 UITextField 中显示来自 UIDataPicker 的值

将委托设置为视图控制器时 UITextField 停止工作

处理 UItableView 中 UItextfield 的委托

如何在 Swift 的单独类中设置 UITextField 的委托?

自定义 UITextField 委托方法 shouldChangeCharactersIn 没有被调用