我想在用户点击文字字段时打开一个面板。我想我应该使用一个响应click事件的委托方法。我找到了
- (void)textDidBeginEditing:(NSNotification *)aNotification
方法不起作用,那就是
- (void)controlTextDidBeginEditing:(NSNotification *)aNotification
方法有效,但只有当我在文本字段中编辑文本时,才会单击它。如果我再次编辑文本,此方法不起作用。为什么呢?
抱歉,我想我想在mac上使用它,而不是在iphone上,如何用cocoa做它?
答案 0 :(得分:5)
textFieldDidBeginEditing:
委托方法仅在用户开始编辑UITextField
内的文本时触发,方法名称暗示。
如果您想在触摸UITextField
时触发方法,则应尝试此操作:
[textField addTarget:self
action:@selector(textFieldTouched:)
forControlEvents:UIControlEventTouchDown];
- (void) textFieldTouched:(id)sender {
// Display the panel
}
答案 1 :(得分:3)
正确的委托方法名称是
- (void)textFieldDidBeginEditing:(UITextField *)textField
来自文档:
此方法通知委托指定的文本字段刚成为第一个响应者。