0

每次更改时,我都需要调查 textField 的值。为了处理这个问题,我只是将该操作添加到 .h 文件并在 .m 文件中实现该方法。(也就是说,我“ctrl+click”了情节提要中的“Value Changed”事件并将其拖到我的 .h 文件中)。即使我只是尝试从该方法中使用 NSLog,它也不会记录任何内容,无论我的文本框的值是否已更改。

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

(IBAction)changed:(UITextField *)sender;

我的 .m 文件具有以下内容:

 (IBAction)changed:(UITextField *)sender {

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

}
4

3 回答 3

3

使您的控制器之一成为文本字段的委托并实现textField:shouldChangeCharactersInRange:replacementString:

于 2012-07-01T23:24:41.753 回答
3

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

于 2012-07-01T23:31:09.160 回答
1

您可以使用通知名称UITextFieldTextDidChangeNotification来侦听文本确实发生了更改事件:

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

和选择器:

- (void)_yourTextFieldDidChangedMethod:(NSNotification *)notification {
   // do your work here
}
于 2012-07-01T23:28:43.357 回答