为什么在发送setEditable时会调用controlTextDidEndEditing?

时间:2013-06-18 10:00:56

标签: objective-c nstextfield

//1:
-(void) TextFieldEdit:(CDTextField *)textField{
 [textField setEditable:YES];
}

//2:
 - (void)controlTextDidEndEditing:(NSNotification *)aNotification{
 NSTextField* textField = (NSTextField *)[aNotification object];
 [textField setEditable:NO];
}

我希望在时间1的setEditable,并在时间2关闭它。

但是我发现当我发送setEditable Xcode时立即调用了controlTextDidEndEditing:。

为什么?

编辑:第一种方法是通过以下子类方法调用的:

-(void)mouseDown:(NSEvent *)event {
if ([event type]==1)
{
NSInteger key=[event modifierFlags];
if ( key & NSCommandKeyMask)
    {[self.delegate CDTextFieldEdit:self]; }
else
    if (event.clickCount >1)
    {[self.delegate CDTextFieldClicked:self]; return;}

 }
 [super mouseDown:event];
 }

0 个答案:

没有答案