2 sachinks SachinKS 于 2012.12.25 16:07 提问

检测UITextField更改的内容

应用中有UIButtonUITextField,但按按钮的时候文本框内容是:This is a test string,怎么样检测文本框的内容被更改没有?

说明一下,文本框不能用代理方法,版本是IOS6+的设备

2个回答

MrsSeven7
MrsSeven7   2012.12.25 16:51
已采纳

可以用KVO解决

[textField addObserver:self forKeyPath:@"text" options:0 context:nil];

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {
    if([keyPath isEqualToString:@"text"] && object == textField) {
        // text has changed
    }
}
g989_1314125
g989_1314125   2012.12.25 16:20

可以添加UITextFieldTextDidChangeNotification:

[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(textFieldChanged:)
                                             name:UITextFieldTextDidChangeNotification
                                           object:textField];

textField (param对象)就是你的UITextField. selector当notification触发时调用的方法

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!