gpt4 book ai didi

cocoa - 鼠标按下 : in a custom NSTextField inside an NSTableView

转载 作者:行者123 更新时间:2023-12-03 16:08:29 25 4
gpt4 key购买 nike

我有一个基于 View 的NSTableView。表中的每个 View 都有一个自定义文本字段。

我想在用户单击表格 View 内的文本字段(标签)时触发一个操作(想象一下每个表格单元格中有一个带有自定义操作的超链接)。

我创建了一个基本的 NSTextField 子类来捕获鼠标事件。但是,它们仅在第二次单击时触发,而不是在第一次单击时触发。

我尝试使用 NSButton 并且它立即触发。

这是自定义标签的代码:

@implementation HyperlinkTextField

- (void)mouseDown:(NSEvent *)theEvent {
NSLog(@"link mouse down");
}

- (void)mouseUp:(NSEvent *)theEvent {
NSLog(@"link mouse up");
}

- (BOOL)acceptsFirstResponder {
return YES;
}

- (BOOL)acceptsFirstMouse:(NSEvent *)theEvent {
return YES;
}
@end

最佳答案

遇到同样的问题。这里接受的答案对我不起作用。经过一番努力,当我选择“无”而不是默认的“常规”时,它神奇地起作用了,另一个选项是 IB 中表格 View 的“突出显示”选项的“源列表”!

编辑:接受的答案被证明是具有误导性的,因为该方法是针对 TableView 重载的,而不是像答案所建议的那样针对文本字段重载的。更清楚地给出了 https://stackoverflow.com/a/13579469/804616但无论如何,更具体的感觉有点老套。

关于cocoa - 鼠标按下 : in a custom NSTextField inside an NSTableView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9841337/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com