问题标签 [nstokenfield]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
82 浏览

swift - 拖动到另一个字段时如何强制 NSTokenField *move* 标记?

NSTokenField将标记从一个字段拖放到另一个字段时的默认拖动操作是NSDragOperationCopy. 执行拖动时按住 Command 键会将操作更改为NSDragOperationMove

如何反转此默认行为,以便默认移动令牌,并且仅在按住 Option 键时复制?

我试图模仿 Mail 中撰写窗口的行为,在该窗口中,将电子邮件令牌从 To 字段拖到 Cc 字段会默认移动令牌,并在按住 Option 键时复制它。

我已经尝试子类NSTokenField化并覆盖draggingEntered:返回NSDragOperationMove,但这似乎不起作用。


更新:

默认情况下,我最终打开了dragOperationForDraggingInfo:type:方法NSTextView并在实现中返回NSDragOperationMove。我还检查选项键是否关闭,NSDragOperationCopy如果为真则返回。目前这似乎按预期工作,但我不确定方法调配是否是最好的方法。

0 投票
0 回答
11 浏览

nstextview - 在 NSTextView 字段编辑器中提高基线

我想在输入文本时操纵基线NSTokenField以匹配显示的标记。为此,我遵循文档中的“使用字段编辑器”指南。建议在编辑之前覆盖- (NSText *)setUpFieldEditorAttributes:(NSText *)textObj;关联的方法NSTextFieldCell以调整字段编辑器属性。这是我在那里做的:

正如我可以在日志的帮助下确认的那样,调用了 get 方法。但是,基线在编辑时根本不会改变。同样调用其他类似[fieldEditor loosenKerning:self]的方法应该产生可见的结果似乎没有任何效果。我在这里做错了什么或做得更好 - 我怎样才能实现我想要的?