我有一个从不同模块更新的 UITextField(我将我的 UITextField 传递给上述模块以填充它)。我需要一种方法来识别 UITextField 的文本值何时在 UITextField 最初所在的模块内发生更改。 UITextField 委托(delegate)方法或 UIControlEvents 将不起作用,因为文本是以编程方式填充的。
将以下内容放在某处,例如 -viewDidLoad:
[textField addObserver:self forKeyPath"text" options:NSKeyValueObservingOptionNew context:nil];
然后添加一个 -observeValueForKeyPath 像:
- (void)observeValueForKeyPathNSString *)keyPath ofObjectid)object changeNSDictionary *)change contextvoid *)context
{
if (object == textField)
{
// Do whatever with your text field here
}
}
这只会在以编程方式设置文本时调用,而不是在用户在字段中输入时调用。
或者只是继承 UITextField 并传入你的子类。你可以根据需要覆盖 setText:
关于ios - 听 UITextField setText,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25326857/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |