objective-c - NSTextField - 可选择和 mouseup 事件

标签 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这是。但是我需要NSTextField成为selectable并有一个 mouseUp事件?

我还有一个问题,- (void) rightMouseDown:(NSEvent *)event;一旦我在NSTextField中选择了一些文本,就不会被调用.

最佳答案

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

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

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

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

关于objective-c - NSTextField - 可选择和 mouseup 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41244270/

相关文章:

c - 通过 C API 加载内核扩展?

objective-c - Cocoa/Objective-C Shell 命令行执行

ios - 如何将 Google Analytics 添加到适用于 iOS 设备的 Cocoa Touch Framework

objective-c - ObjC : How to compile static library that includes optional classes that depend on a third party library

objective-c - 创建可以打开给定格式文件的应用程序

iOS SDK 可以静音或取消来电吗

c# - 缺少 Visual Studio for Mac 的 Blazor WebAssembly 应用模板

ios - arc4random() 效率中断?

objective-c - 返回带有代码点的 Unicode 名称

objective-c - indexPath.row 返回什么?