Chr*_*ris 7 cocoa pasteboard nsattributedstring
Cocoa的新手,我正在试图弄清楚如何将NSAttributedString复制到粘贴板.我查看了文档并且不确定我是否应该使用NSPasteboardItem.
这是我必须复制常规NSString:
NSPasteboard *pb = [NSPasteboard generalPasteboard];
NSArray *types = [NSArray arrayWithObjects:NSStringPboardType, nil];
[pb declareTypes:types owner:self];
[pb setString:@"asdfasdf" forType:NSStringPboardType];
Run Code Online (Sandbox Code Playgroud)
如何设置NSAttributedString?
谢谢
Pet*_*sey 10
从Snow Leopard开始,NSAttributedString(当由AppKit启动时)符合NSPasteboardWriting,因此您可以简单地执行此操作:
[pb clearContents];
[pb writeObjects:arrayOfAttributedStrings];
Run Code Online (Sandbox Code Playgroud)
如果您只想在粘贴板上放置一个属性字符串,则可以向NSArray发送arrayWithObject:
消息.
[从2013年开始编辑:或者使用闪亮的新@[ myAttributedString ]
语法.适用于任意数量的对象,尽管在这种情况下它们仍然需要符合NSPasteboardWriting.
这也适用于NSString.在AppKit标题中搜索"NSPasteboardWriting"以查找支持它的所有标准Cocoa类.
您需要NSRTFPboardType或NSRTFDPboardType以及NSAttributedString的RTFFromRange:documentAttributes:
/ RTFDFromRange:documentAttributes:
和setData
粘贴板.
归档时间: |
|
查看次数: |
3010 次 |
最近记录: |