我正在创建一个将属性字符串放在粘贴板上的 mac 独立服务。当页面访问数据时,字符串会丢失其属性。我正在使用以下代码粘贴字符串,并将 NSReturnTypes 值设置为 NSStringPboardType。
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:这似乎是页面如何从剪贴板接受数据的错误。