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币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
iOS UITextField监控输入文字变化方法
通过给UITextField 添加  UIControlEventEditingChanged  的方法来检测输入信息的变化 [_searchTextField addTarget:self action:@selector(searchTextFieldChangeAction:) forControlEvents:UIControlEventEditingChanged];
iOS UITextField 检测text的长度
今天用到这个,原来的某人写的用的是KVO,我鄙视了下那种方法,倒不是yi
iOS-监听UITextField值改变事件
在实际情况中我们有时候在界面输入时候需要让用户输入的数据与模型同步,那么可能我们就需要监听UITextField值改变事件,然后在响应的方法中将新的值同步到模型中。这次我们主要提出三种方案,其中第一种方案是不一定有效的,后两种方案则是比较可靠的方案。一、实现UITextFieldDelegate协议。  这种方式实际上是由系统空间回调协议中的方式,并且通过查阅文档我们可以发现有以下相关接口是相关的。
UItextField实时监控输入框的文字
想要实现的效果 [textField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged]; (void)textFieldDIdChange:(UITextField *)textField{ UITextRange *selectedRange
重要经验四:实时检测UITextField之的变化
使用过UISearchBar的人都知道,
IOS Label 同步 UITextfield 显示输入内容(删除)
做ios不久,第一次写,废话不多说 -(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {     if (textField.tag == 12 ) {         //因为
实现UITextField值变化的实时监视
原来认为这个是很简单的基本问题,上网搜索以后发现基本的处理方法大概有四种 1、KVO方式 [textField addObserver:self forKeyPath:@"text" options:0 context:nil]; 2、直接添加监视 [textField addTarget:self  action:@selector(valueChanged:)  forControlE
实时监听UITextField的输入内容变化
最近写一个应用时,需要实时判断两次输入的密码是否正确,但是UITextField提供的代理方法无法实现我的目的,经过翻阅资料,发现可以使用下面的方法来解决:[self.textPassCon addTarget:self action:@selector(passConTextChange:) forControlEvents:UIControlEventEditingChanged]; //注意:
实时监听UITextField内文字的改变
1. 遵循 UITextFieldDelegate 2. textField的delegate = self; 3. 添加方法       [_textField addTarget:self action:@selector(textFielddidChanged) forControlEvents:UIControlEventEditingChanged]; 4. 在textFi
原来UITextField 文字改变时会有个通知啊
转载自: http://ask.csdn.net/questions/3386 用我方法: - (void)viewDidLoad { [super viewDidLoad]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textFieldTextDidChangeOneCI: