Dru*_*erB 7 cocoa objective-c nstextfield appkit nstokenfield
我想要一个文本字段,如Numbers中的表达式编辑器文本字段:

它非常相似NSTokenField,但NSTokenField只支持分隔符分隔的标记列表,如Mail.app中的"To:"字段.

我必须将这些令牌嵌入到特定位置的文本中,否则它们的工作方式完全相同NSTokenField(退格会删除令牌,您可以将它们拖动等等).
有没有第一方或第三方控制做这样的事情?我没找到任何东西.
如果没有,你会如何推荐实施它?使用核心文本并重新发明轮子(实现NSTextField更好的令牌支持)?或者有更好的解决方案吗?
我认为没有替代控制可用NSTokenField(好吧,我几周前找不到一个).
一个可能的选择可能是遵循Apple的示例项目LayoutManagerDemo中提供的解决方案.这显示了一个NSTextView能够检测文本上鼠标移动的子类.安装并运行演示以获得基本想法.
该示例用于NSLayoutManager检测鼠标移动,但代码可能适用于检测文本中的特定字符序列,如文本字段中的标记.获得令牌及其位置后NSLocationManager,您可以根据令牌的特征插入自己的表示.一种可能的解决方案是使用NSTextAttachmentCell哪个将成为文本中的字形.使用的好处NSTextAttachmentCell是它被Cocoa的文本系统视为一个字形(你可以选择它,它遵循格式化等).通过实现,drawWithFrame:inView:您可以添加每个标记的各种可见属性.
| 归档时间: |
|
| 查看次数: |
1122 次 |
| 最近记录: |