NSTextField - 可选和鼠标事件

时间:2016-12-20 14:08:56

标签: objective-c macos cocoa nstextfield

我创建了自己的NSTextField对象:

@interface MyTitleLabel: NSTextField
@end

@implementation MyTitleLabel
- (void)mouseUp:(NSEvent *)event {
    NSLog(@"up");
}
@end

然后将其初始化为:

MyTitleLabel* title_field = [[MyTitleLabel alloc] init];

问题是如果我有:

[title_field setSelectable:YES];

mouseUp事件未被 触发。但如果我将它设置为NO则为。但是,我需要NSTextFieldselectable并发生mouseUp事件?

我在- (void) rightMouseDown:(NSEvent *)event;选择了一些文字后,我也遇到了NSTextField未被调用的问题。

1 个答案:

答案 0 :(得分:-1)

文本字段的功能由NSTextFieldCell实现,NSTextFieldCell完成大部分工作,拥有它的控件NSTextField。

此外,在编辑时,字段编辑器开始发挥作用。

Apple的文档解释了这种关系:

https://developer.apple.com/library/content/documentation/TextFonts/Conceptual/CocoaTextArchitecture/TextFieldsAndViews/TextFieldsAndViews.html