【发布时间】:2017-05-05 18:49:45
【问题描述】:
我已经创建了自己的 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,它就是。但是我需要 NSTextField 成为 selectable 并有一个 mouseUp 事件?
我还有一个问题是,一旦我在 NSTextField 中选择了一些文本,就不会调用 - (void) rightMouseDown:(NSEvent *)event;。
【问题讨论】:
-
你的最终目标是什么?当你的
MyTitleLabel成为第一响应者时,听起来你想听。 -
我希望我的 nstitlelabel 的行为与 HTML 链接的工作方式相同。我目前可以点击它或选择标签的文本不是两者
-
使用
attributedStringValue和带有NSLinkAttributeName属性的属性字符串。 -
@Willeke 是的,但我不希望用户能够编辑它...
-
将
editable设置为NO。
标签: objective-c macos cocoa nstextfield