检测uitextfied中的文本变化?

Posted

技术标签:

【中文标题】检测uitextfied中的文本变化?【英文标题】:detecting text change in uitextfied? 【发布时间】:2011-04-30 00:11:57 【问题描述】:

我想检测 uitextfield 的变化,并且当 uitextfield 发生变化时,我想调用一个方法,所以任何人都可以提供一些代码来说明如何做到这一点。

谢谢, TC

【问题讨论】:

【参考方案1】:

当用户输入新文本时,UITextField 在其委托上调用此方法:

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string

这里有一个reference,表示 UITextField 可以对其委托调用的所有方法。

如果您不想允许更改,可以从方法中返回 NO。您可以像这样设置 UITextControl 的代表:

myTextField.delegate = myObjThatIsTheDelegateForThisTextField;

不过,它可能已经在您的 xib 文件中进行了设置。

编辑

如果您使用 InterfaceBuilder,要连接您的 UITextField,请右键单击窗口中的 UITextField,然后将一条线拖到代表您的视图控制器的多维数据集(可能是 MyView.xib 中的第三个多维数据集?)然后选择出现的弹出窗口中的委托。

【讨论】:

由于某种原因无法正常工作,这是我在 uitextfield 所在视图的 viewcontroller 中放置的代码: - (BOOL)textField:(UITextField *)downloadSourceField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string NSLog(@"文本将要改变"); 设置文本字段的委托很重要。您是否尝试将委托分配给您的视图控制器? 我应该用什么替换 myObjThatIsTheDelegateForThisTextField?

以上是关于检测uitextfied中的文本变化?的主要内容,如果未能解决你的问题,请参考以下文章

检测文本字段中的位置和变化

如何在 jQuery 中检测文本输入框中的变化

SwiftUI - 检测文本字段中的变化

检测jQuery中的输入变化?

如何使用 selenium 和 codeception 检测验收测试中的 dom 变化

UITextField 中的文本将无法正确居中