gpt4 book ai didi

ios - 如何将富文本粘贴到 UITextView 中?

转载 作者:可可西里 更新时间:2023-11-01 17:08:00 26 4
gpt4 key购买 nike

我的应用程序允许用户通过单击一些将属性应用于 TextView 的 attributedText 属性的格式化按钮来格式化 UITextView 中的文本。我想允许用户从一个 UITextView 复制他们的格式化文本,然后使用标准粘贴板和标准剪切/复制/粘贴菜单将其粘贴到另一个 UITextView 中。

目前,如果我从 UITextView 复制格式化文本并将其粘贴到邮件应用程序中的新消息中,格式将被保留——因此格式化文本的复制会自动发生。但是,如果我将格式化文本粘贴到我的应用程序中的另一个 UITextView 中,则只会显示纯文本。

按照 Text Programming Guide for iOS 中的“粘贴选择”部分进行操作,我能够覆盖 UITextView 的粘贴方法并拦截粘贴的内容:

- (void)paste:(id)sender {
UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
NSLog(@"types available: %@", [pasteboard pasteboardTypes]);
for (NSString *type in [pasteboard pasteboardTypes]) {
NSLog(@"type %@ (%@): %@", type, NSStringFromClass([[pasteboard valueForPasteboardType:type] class]), [pasteboard valueForPasteboardType:type]);
}
}

这表明粘贴板包含以下格式的内容:com.apple.rtfd、public.rtf、public.text 和“Apple Web Archive 粘贴板类型”。 text 的值为纯文本字符串,rtf 的值为 RTF 字符串,两种 Apple 格式的值为 NSData。

这就是我卡住的地方。如何将其中一项从粘贴板数据转换为属性字符串以设置 UITextView?

或者更好的是,有没有一种方法可以将 UITextView 配置为在粘贴时自动接受格式化文本,就像它在复制时自动提供格式化文本一样?

最佳答案

邓肯在上面问道,“你确定你有 uitextview 设置来处理富文本吗?”我不知道该设置,但我再次检查了 UITextView 类引用并找到了 allowsEditingTextAttributes 属性。我之前没有使用过它,因为我提供了自己的格式设置按钮并且不需要启用系统粗体/斜体/下划线选项。但是当我为我的 UITextView 将该属性设置为 YES 时,它开始自动接受格式化文本。哇!

关于ios - 如何将富文本粘贴到 UITextView 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20210181/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com