UITextField onText已更改

时间:2012-07-01 23:21:39

标签: objective-c ios uitextfield

我需要在每次更改时调查textField的值。为了处理这个问题,我只是将该操作添加到.h文件中,并在.m文件中实现该方法。 (也就是说,我从故事板中“按住ctrl + click”编辑“Value Changed”事件并将其拖到我的.h文件中)。即使我只是从该方法尝试NSLog,它也没有记录任何内容,无论我的文本框的值是否发生了变化。

我的头文件包含以下内容:

(IBAction)changed:(UITextField *)sender;

我的.m文件包含以下内容:

 (IBAction)changed:(UITextField *)sender {

NSLog(@"%@", @"Changed");

}

3 个答案:

答案 0 :(得分:3)

将您的一个控制器设为文本字段的委托并实施textField:shouldChangeCharactersInRange:replacementString:

答案 1 :(得分:3)

只需尝试“编辑已更改”而不是“已更改值”。

答案 2 :(得分:1)

您可以使用通知名称UITextFieldTextDidChangeNotification来收听文本已更改的事件:

[[NSNotificationCenter defaultCenter] addObserver:self
                                       selector:@selector(_yourTextFieldDidChangedMethod:)
                                           name:UITextFieldTextDidChangeNotification
                                         object:self.yourTextField];

和选择器:

- (void)_yourTextFieldDidChangedMethod:(NSNotification *)notification {
   // do your work here
}