2012-02-15 54 views
2

当我手动执行下面的代码通过一个动作的方式,将NSTextView对象复制文本,然后将其粘贴到像一个文本编辑器或电子邮件客户端,粘贴的文本是一个很长的字符串。复制NSTextView文本

如何保留文本的格式?

谢谢。

NSString *string = [outputText string]; 

NSPasteboard *pasteBoard = [NSPasteboard generalPasteboard]; 
[pasteBoard declareTypes:[NSArray arrayWithObjects:NSStringPboardType, nil] owner:nil]; 
[pasteBoard setString:string forType:NSStringPboardType] 

回答

2

您不需要做任何事情来实现NSTextView文本的复制。 NSTextViewNSText一个子类,继承copy:方法。

到当前所选文本复制到剪贴板,只需调用[yourTextView copy:self];

the docs解释的,如果你的文本视图设置为允许丰富的文本,则剪贴板将包含一个普通字符串(NSStringPboardType)和属性串(NSRTFPboardType)。