如何将标记(如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. 在NSTextView中更改光标
- 10. 标题标记和带ID的div
- 11. 带标签的标记不出现
- 12. NSTextView
- 13. IMG标记不带图像
- 14. 包带通用标记
- 15. PHP带状标记问题
- 16. 在NSTextView顶部的光标矩形
- 17. 带复选标记的UITableViewCell,复制复选标记
- 18. 带有斜体标记的HTML定位标记
- 19. 如何搜索带有匹配结束标记的xml标记?
- 20. BeautifulSoup:查找带有嵌入标记的标记文本
- 21. 带有Open Graph标记的元标记助手
- 22. 带有标记的SUM值的公式
- 23. python matplotlib.stem不带标记的阴谋
- 24. 带有OATH标记的Azure MFA
- 25. 带标记的地理位置地图
- 26. 带有标记的条纹使用
- 27. Leaflet不标记带geojsonFeatures的点?
- 28. 带标记的离线地图
- 29. 带位置标记的用户VisualStudio PostBuild
- 30. AS3带条件的单行标记
谢谢你。我不知道从哪里开始寻找它。这是一个很好的开始。 – 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