首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将pasteboard属性字符串粘贴到公共pasteboard会丢失页面中的属性。

将pasteboard属性字符串粘贴到公共pasteboard会丢失页面中的属性。
EN

Stack Overflow用户
提问于 2016-11-15 23:15:59
回答 2查看 106关注 0票数 0

我正在创建一个mac独立服务,它将属性化字符串放在黑板上。当数据被页面访问时,字符串将失去其属性。我使用以下代码粘贴字符串,将NSReturnTypes值设置为NSStringPboardType。

代码语言:javascript
复制
    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应用程序(如notes和mail )可以很好地处理属性,但是页面坚持要删除它们。如何创建可由页面、主题和数字处理的黑板数据?

更新:显然,iWork将当前样式应用到粘贴在文档中现有文本上的文本上的第一行。我假设段落风格是背后的原因,但希望在这里提供任何帮助。

UPDATE2:在页面如何接受剪贴板上的数据方面,这似乎是一个错误。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-11-23 05:54:30

它似乎是页面中的一个bug,或者是预期的行为。cid=op123456#30971829

票数 0
EN

Stack Overflow用户

发布于 2016-11-18 09:30:27

还没有人给你提供任何东西,所以这里有一个方法,而不是这样的答案:

我假设段落风格是背后的原因,但希望在这里提供任何帮助。

别假设,测试。

编写一个简单的应用程序,允许您检查剪贴板上的内容。然后打开TextEdit & Pages,并在应用程序内部和应用程序之间复制和粘贴东西。看看剪贴板上有什么。即使没有选择“粘贴和匹配样式”,页面也会粘贴一定数量的“匹配样式”。

当然,请注意,这个问题并不局限于您的应用程序,当您从TextEdit (或Word等)复制到页面时会看到这一点。你的目标似乎是复制页面到页面复制粘贴,这可能是可能的,也可能是不可能的。

增编

如果您需要帮助查看剪贴板,苹果有示例代码来完成它,ClipboardViewer。从TextEdit和页面复制时,只需比较您的下划线单词。有很多不同之处,包括iWork特定的数据类型。

HTH

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40621423

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档