需要在 NSTextField 上单击两次才能激活
Posted
技术标签:
【中文标题】需要在 NSTextField 上单击两次才能激活【英文标题】:Need to click twice on NSTextField to become active 【发布时间】:2014-03-12 16:37:59 【问题描述】:我有一个 NSTextField,默认情况下不可编辑,并且是第一响应者。 我希望在单击 NSTextField 后立即使其可编辑/处于活动状态。 我对它进行了子类化并使用了 mousedown 事件:
- (void)mouseDown:(NSEvent *)theEvent
NSLog(@"link mouse down");
[self setEditable:TRUE];
但是,我需要在 NSTextFIeld 上单击 2 次才能激活和可编辑,但每次单击我都能正确看到 NSLog“鼠标按下”。 有什么我忘了做的吗?谢谢
【问题讨论】:
这是完全正常的行为。当您单击文件名进行编辑时,它的工作方式与在 Finder 中的工作方式相同。 谢谢。如果我想实现我想要的,该怎么办? 确定是双击而不是常见的单击延迟(再次,如在 Finder 中)会激活文本字段..? 【参考方案1】:在您的NSTextField
子类中,尝试覆盖-acceptsFirstMouse: 并返回YES
。不过,请摆脱您的 -mouseDown:
覆盖。
【讨论】:
以上是关于需要在 NSTextField 上单击两次才能激活的主要内容,如果未能解决你的问题,请参考以下文章