对于NSTextField,没有诸如“编辑确实更改”之类的事件?

时间:2010-02-28 14:10:57

标签: objective-c xcode events macos nstextfield

当我为iPhone开发时,我有多个触摸事件,按钮可能是真的。 (例如,编辑完成了更改,编辑完成了...)

现在,我为Mac OSX开发,我希望我的应用程序识别NSTextField中的多个事件。

怎么做?这些活动有替代方案吗?

谢谢!

编辑:代表是关键吗?

1 个答案:

答案 0 :(得分:25)

您需要将对象设置为NSTextField的委托。由于NSTextFieldNSControl的子类,如果您实现它,它将在您的对象上调用-controlTextDidChange:方法。

@interface MyObject : NSObject
{
    IBOutlet NSTextField* textField;
}
@end

@implementation MyObject
- (void)awakeFromNib
{
    [textField setDelegate:self];
}

- (void)controlTextDidChange:(NSNotification *)notification
{
    if([notification object] == textField)
    {
        NSLog(@"The contents of the text field changed");
    }
}
@end