问题标签 [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.
macos - 允许 NSTokenField 的前导和尾随空格
我想在 NSTokenField 中允许前导和尾随空格,问题是当它失去焦点时,空间会被自动修剪。我尝试自定义委托函数:editingStringForRepresentedObject 和 displayStringForRepresentedObject 但仍然没有运气......
我会感谢你的帮助。
提前致谢,
BR,梅夫扎尔
swift - 在 NSTokenField 上获得鼠标点击
我想实现一个NSTokenField,它将显示令牌 - 当悬停在令牌上时 - 显示一个删除图标。随后,当我单击该图标时,我希望删除令牌。
经过大量搜索后,标准NSTokenField似乎无法做到这一点。如果有人知道如何请让我知道。
我查看了https://github.com/octiplex/OEXTokenField并基于该代码在 Swift 中实现了 CustomTokenField 。到目前为止,我有一个正常工作的CustomTokenField,当我将鼠标悬停在令牌上时,它会显示一个删除图标。
下一个阶段结果是一个我自己无法弄清楚的问题。我怎样才能点击令牌触发回调。?
token 类派生自 NSTextAttachmentCell,CustomTokenField 派生自 NStokenField:
我试图用两个不同的角度来解决这个问题:
通过 CustomTokenAttachmentCell
NSTextAttachmentCell 实现了 NSTextAttachmentCellProtocol。
这是有希望的。所以我在CustomTokenAttachmentCell中实现了这些方法,并且实际调用了wantToTrackMouse()。我已经实现了返回“真”。
其他两种方法永远不会被调用。是否需要做其他事情才能使他们被调用?
通过 CustomTokenField
我也尝试从CustomTokenField解决这个问题。可以使用MouseDown()获取鼠标事件,但是我找不到从单元格中实际访问令牌的方法。
我在 StackOverflow 上看到了很多帖子,也看到了提示,但似乎没有一个指向正确的方向。
不知何故,我得出的结论是,您只能在层次结构中有 NSControl 的情况下获取鼠标事件。对于不是这种情况的令牌。NSControl 是视图层次结构的一部分,因此我尝试通过CustomTokenField来实现这一点,但我也在那里陷入了死胡同。例如这个问题Clicking token in NSTokenField是完全相同的,但是设置动作或目标会产生致命错误,因为setAction和setTarget是基类的存根。
我是 Coacoa 的初级程序员,所以希望这只是缺乏知识的问题。
任何建议将不胜感激。
cocoa - NSTrackingArea Cocoa 的跟踪控制
我想让 NSTokenField 在加载屏幕时忽略鼠标事件。因此,如果我将光标移到该文本字段上,则应用程序将因崩溃日志而崩溃
*** -[RSTokenFieldCell respondsToSelector:]:消息发送到已释放实例 0x611000985c00
我尝试过覆盖 updateTrackingAreas、trackingAreas,但没有运气。有人可以让我知道如何使用它。我有堆栈溢出问题。这样做会完全禁用跟踪选项。请提出任何解决方案。
cocoa - NSTokenField 值改变通知
在里面输入时,NSTokenField
我会显示这个值的建议, GetCompletionStrings
从NSTokenFieldDelegate
但是如果我从 NSTokenFiled 中完全删除所有符号,则不会触发此事件。
我需要在何时NSTokenFiled string value
更改或清除或更新时收到通知,而无需单击输入按钮。
我在其中使用自定义 nstoken 字段TokenField : NSTokenField
,我已经覆盖了 DidEndEditing,如下所示:
这仅在 enter clicked 后调用,不会在文本更改时触发...
我也尝试在视图控制器中处理我的视图的更改事件,但它没有被调用
objective-c - NSTokenField 委托:( - tokenField:shouldAddObjects:atIndex: ) 在普通样式时不起作用
我的应用程序中有 NSTokenField。我想要简单的风格(只想接受一个值而不是更多)。所以我想通过使用委托来验证数组中的输入文本- tokenField:shouldAddObjects:atIndex: 但是当样式为普通时,这个委托不会运行。当我将样式恢复为默认值时。有用。
这是我的委托代码
怎么了?我应该怎么做才能使 NSTokenField 以普通样式制作,只接受一个令牌,从数组中验证令牌?
objective-c - 如何实现多行 NSTokenField?
我想实现一个NSTokenField
跨越多行的。例如:
我在网上找到了一些多行的示例代码NSTokenField
:
让我的班级代表NSTokenField
并实现以下方法
但是这段代码不能正常工作。
你能帮我解决这个问题吗?
先感谢您。
swift - 使用输入字符串的任何匹配部分构建的 NSTokenField 建议列表
我想要使用输入字符串的任何匹配部分而不是前缀构建的建议列表。
我像这样构建建议列表:
建议列表的构建工作正常。
我的问题是。如果用户在建议列表中的 NSTokenFiled 中输入“T”,“aaaTwoaa”和“aaaThreeaa”就会出现,如所愿。现在在 NSTokenfield 中选择“a”作为第一个字符。
如何将“T”保留为选定字符,以便用户可以键入“h”来获取“aaaThreeaa?
swift - 仅允许 NSTokenField 中的特定标记
我目前正在实现一个 NSTokenField ,目前用户输入的任何文本都将转换为令牌。
我只想允许一组特定的标记,任何其他文本都不应该转换为标记。
有没有办法检查输入的文本是否是有效的标记,然后将其转换为保留其他文本不变的标记?
谢谢!
swift - 编辑令牌时 NSTokenField 崩溃
我正在使用NSTokenField
和对应NSTokenFieldDelegate
的将由破折号字符包围的所有文本-
视为圆角标记,将所有其他文本视为纯文本。
圆形标记显示时没有周围的破折号,双击其中一个标记时,标记会以纯文本模式切换并显示破折号。
在我的NSTokenFieldDelegate
实施中
tokenField(NSTokenField, shouldAdd: [Any], at: Int) -> [Any]
我正在检查给定的令牌并在必要时创建四舍五入的令牌。
在某些情况下,例如,在编辑后按回车键提交文本更改时,应用程序会崩溃(在 macOS Mojave 10.14.6 上测试)。演示项目报告了一个索引超出范围异常以及我在下面发布的堆栈跟踪以供参考。
要重现崩溃,请按照以下简单步骤操作
- 运行演示应用程序
- 在令牌字段中输入“-Dash1-.-Dash2-”
- 按回车,文字变为“
Dash1
.Dash2
” - 双击
Dash1
然后变成“-Dash1-”并被选中 - 按回车
您可以在https://github.com/fheidenreich/token-test找到演示项目,我在这里引用了相关代码:
谁能解释为什么应用程序崩溃并可能给出修复或规避问题的提示?