我有一个NSTextView
包含一些带有属性的文本(语法突出显示)。我正在尝试使用一个复制选项来保持语法突出显示,以便我可以将其粘贴到 gmail 文本窗口中。目前,当我复制粘贴时突出显示不会出现,但是如果我要直接从这个 stackoverflow 页面复制以下部分:
- (void) copyAsRTF
{
NSPasteboard *pateboard = [NSPasteboard generalPasteboard];
NSData * rtfData = [[self textStorage] RTFFromRange: [self selectedRange]
documentAttributes: nil];
if (rtfData)
{
NSString * test = [[NSString alloc] initWithData: rtfData
encoding: NSUTF8StringEncoding];
[pateboard declareTypes: @[NSRTFPboardType]
owner: self];
[pateboard setData: rtfData
forType: NSRTFPboardType];
} // End of we had data
} // End of copyAsRTF
并将其粘贴到 gmail 中,它将以完整的语法高亮粘贴没有问题。上面的代码是我用来生成我的 RTF 代码的,我可以确认它确实生成了正确的 RTF,因为我有一个test
正在生成的变量。
有什么想法我在这里做错了吗?据我了解,这应该有效。
(我应该注意到我已经在多种浏览器中尝试过——Chrome、Safari 和 Firefox)。