如何将标记(如NSTokenField
)添加到NStextView
?带标记的NSTextView
11
A
回答
8
这实际上有点复杂。您将需要为每个“令牌”创建一个自定义NSTextAttachment
,并将其插入到NSTextStorage
中以供您的NSTextView
使用。
有一个great post by David Sinclair at Dejal Systems解释如何做到这一点。
4
我想通了,使用的令牌的自定义单元格类的简单的方法:
- 写继承
NSTextAttachmentCell
细胞类并重新实现- (void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView
这将是代表你的NSTextView
令牌类。 - 要插入一个令牌请按照下列步骤操作:
- 创建的
NSTextAttachment
- 将附着的细胞的情况下,以自己的权杖细胞类的一个实例。
- 使用该附件创建一个属性字符串。
- 将属性字符串插入文本视图。
- 创建的
该插入令牌插入文本视图可能是这样的一种方法:
- (void)insertAttachmentCell:(NSTextAttachmentCell *)cell toTextView:(NSTextView *)textView
{
NSTextAttachment *attachment = [NSTextAttachment new];
[attachment setAttachmentCell:cell];
[textView insertText:[NSAttributedString attributedStringWithAttachment:attachment]];
}
该方法更适合于令牌比一个由David Sinclair。由于我们想要显示动态内容(令牌)而不是静态图像,因此不需要使用文件包装。
但是,大卫的概念看起来可能很有用。他描绘了一个实现拖放操作的好方法。复制粘贴功能。
+2
在iOS上,没有NSTextAttachmentCell类的情况如何? – fatuhoku 2014-06-24 10:29:20
相关问题
- 1. NSTextView中的光标
- 2. AttributedString标在NSTextView
- 3. 带标记
- 4. 如何实现执行RTF转换的即时标记的NSTextView
- 5. 带Kubernetes的不带标记Token
- 6. 带特殊标记的WINCEREL
- 7. 带动画的ModalPopUpExtender标记
- 8. 记事本++带宏的标记样式
- 9. 标题标记和带ID的div
- 10. IMG标记不带图像
- 11. 包带通用标记
- 12. PHP带状标记问题
- 13. NSTextView
- 14. 带复选标记的UITableViewCell,复制复选标记
- 15. 在NSTextView顶部的光标矩形
- 16. 带有标记的SUM值的公式
- 17. 带锚标记的CSS帮助
- 18. 的TableView带有复选标记
- 19. ColumnText和带有Image Base64标记的HTML
- 20. 带有OATH标记的Azure MFA
- 21. htaccess带锚标记的重定向url
- 22. 带有infowindow的多个标记
- 23. 带有多个标记的网址
- 24. 带孔的html区域标记
- 25. 带区域学习的标记检测
- 26. Stuts2中带有显示标记的java.lang.SecurityException
- 27. 带参数的jsonp脚本标记
- 28. 带位置标记的用户VisualStudio PostBuild
- 29. Leaflet不标记带geojsonFeatures的点?
- 30. 带Webpack和React的意外标记
谢谢你。我不知道从哪里开始寻找它。这是一个很好的开始。 – goo 2009-09-21 22:24:29
哇,这篇文章是在2007年一直写的...它是否适用于TextView的较新iOS 7 TextKit实现? – fatuhoku 2014-06-24 10:26:16
该文章是为MacOS编写的。 iOS上最新的内容是什么? – fatuhoku 2014-06-24 10:28:46