我正在创建一个将归因字符串放在粘贴板上的mac独立服务。当数据被页面访问时,字符串失去其属性。我正在使用以下代码粘贴字符串,将NSReturnTypes值设置为NSStringPboardType。将nsmutableattributed字符串粘贴到公共粘贴板中丢失属性页面
NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:@"Yay, I'm a string"];
[str beginEditing];
[str addAttribute:NSUnderlineStyleAttributeName
value:[NSNumber numberWithInt:NSUnderlineByWord]
range:NSMakeRange(0,str.length)];
[str endEditing];
[pboard clearContents];
[pboard writeObjects:[NSArray arrayWithObject:str]];
非iWork应用程序(如笔记和邮件)可以处理这些属性,但页面坚持删除它们。如何创建可通过页面,主题和数字处理的粘贴板数据?
更新:突然,iWork将当前样式应用到粘贴在文档中已有文本上的文本的第一个换行符上。我假设段落风格是在这背后,但会感谢这里的任何帮助。
UPDATE2:这似乎是页面如何从剪贴板接收数据的一个错误。
类似,但老问题:[复制NSAttributedString到粘贴板](http://stackoverflow.com/questions/2581407/copy-nsattributedstring-to-pasteboard/2585327#2585327) – Willeke
复制到页面并粘贴页面也改变样式。看起来像Pages中的一个bug。 – Willeke
这确实是一个页面中的错误。 – sakurashinken