ios - 如何在没有委托(delegate)的情况下处理 UITextField 值更改?

标签 ios swift uitextfield uitextviewdelegate

<分区>

UITextFieldDelegate中有一个方法

textField(_:shouldChangeCharactersInRange:replacementString:)

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

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

最佳答案

您可以使用 UITextFieldTextDidChangeNotification

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

关于ios - 如何在没有委托(delegate)的情况下处理 UITextField 值更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36931177/

相关文章:

ios - 如何通过 CollectionView 中的 Flow Layout 将单元格对齐到顶部

ios - 使用 viewDidLayoutSubviews() 自动调整角半径大小,在显示之前不更新 View

ios - 警报 Controller 内多个文本字段的空文本验证

ios - 按钮图像未显示在 UItextfield 的 rightView 中

android - 使用 Google Cast 转换时出现错误 30/300 是什么意思?

iOS 应用程序被拒绝 - 元数据被拒绝

ios - Xcode 不允许我对 UIView 使用 NSObject 的 init() 函数

ios - 从 Swift 中的静态函数中的另一个文件访问枚举

swift - 在 [Int :(String:String)] 数组中查找并修改元组值

iphone - 点击 X 按钮时从 UISearchBar 中关闭键盘