我目前正试图跟踪文本字段的状态。UIControlEventEditingChanged在使用UITextfield的setText时不会被触发
我使用的是自定义的日期选择器,其通过-setText
[self.textField setText:[self.dateFormatter stringFromDate:self.date]];
设置文本里面我textFieldDelegate我写了下面的代码:
-(void)viewDidLoad {
[super viewDidLoad];
self.travelToOnTextField.delegate = self;
[self.travelToOnTextField addTarget:self action:@selector(travelToOnTextFieldDidChange:) forControlEvents:UIControlEventEditingChanged];
}
-(void)travelToOnTextFieldDidChange:(id)sender
{
NSLog(@"Event Handler called");
}
如果我通过自定义的日期选择器更改文本方法travelToOnDateTextFieldDidChange
不会被调用。但如果我使用电脑键盘改变文本,会因某种原因而被调用。
这是故意的吗?
感谢您的解决方案,我也结束了使用sendActionsForControlEvents方法。 – 2013-04-09 10:07:33
insertText不起作用。但'[textField sendActionsForControlEvents:UIControlEventEditingChanged]'工作。 – Gon 2016-03-12 07:55:16
'insertText(_ :)'应该只在文本字段是第一响应者时才起作用,因为“UIKeyInput”的文档说它在光标位置插入文本。 – Raginmari 2016-05-03 09:13:42