OGeek|极客世界-中国程序员成长平台

标题: ios - 听 UITextField setText [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 11:26
标题: ios - 听 UITextField setText

我有一个从不同模块更新的 UITextField(我将我的 UITextField 传递给上述模块以填充它)。我需要一种方法来识别 UITextField 的文本值何时在 UITextField 最初所在的模块内发生更改。 UITextField 委托(delegate)方法或 UIControlEvents 将不起作用,因为文本是以编程方式填充的。



Best Answer-推荐答案


将以下内容放在某处,例如 -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/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4