基本的iPhone粘贴板用法

Luí*_*ues 6 cocoa-touch copy-paste uipasteboard ios

我试图在iPhone粘贴板中放入一些纯文本.以下代码似乎不起作用:

UIPasteboard *pboard = [UIPasteboard generalPasteboard];
NSString *value = @"test";
[pboard setValue: value forPasteboardType: @"public.plain-text"];
Run Code Online (Sandbox Code Playgroud)

我猜这个问题是在PasteBoard类型参数中.传递@"public.plain-text"什么也没有发生.传递kUTTypePlainText编译器抱怨指针类型不兼容,但不会崩溃,也没有任何反应.使用kUTTypePlainText似乎也需要链接MobileCoreServices,这在文档中没有提到.

kic*_*gas 19

使用此标头获取kUTTypeUTF8PlainText的值;

#import <MobileCoreServices/UTCoreTypes.h>
Run Code Online (Sandbox Code Playgroud)

您需要提供MobileCoreServices框架.

  • 实现只是为了说清楚:`[pboard setValue:value forPasteboardType:(NSString*)kUTTypeUTF8PlainText];` (3认同)

Luí*_*ues 8

回应评论和我自己的问题:

  • 设置pasteboard字符串属性有效.
  • 使用setValue:forPasteboardType:同样如果我使用的作品kUTTypeUTF8PlainText,而不是kUTTypePlainText为纸板类型.

我没有注意到字符串属性,因为我直接进入"获取和设置单个粘贴板项"任务部分.

我测试的方法是单击文本字段,看看是否会出现粘贴弹出窗口.

我仍然不确定文档在哪里为iPhone解释UTT类型,包括在哪里获取它们(框架,#include文件),似乎"统一类型标识符概述"文档仍然面向Mac OS.由于常量给我一个类型不匹配警告,我以为我做错了,这就是我第一次尝试使用NSString文字的原因.