Ios 如何使用Swift将文本复制到剪贴板/粘贴板

Ios 如何使用Swift将文本复制到剪贴板/粘贴板,ios,swift,cocoa-touch,copy,uipasteboard,Ios,Swift,Cocoa Touch,Copy,Uipasteboard,我正在寻找一个干净的例子,说明如何将文本复制到iOS剪贴板,然后可以在其他应用程序中使用/粘贴 此功能的好处是可以快速复制文本,而无需传统文本复制的标准文本突出显示功能 我假设关键类位于UIPasteboard中,但在中找不到相关区域。如果您只需要纯文本,可以使用。它既可读又可写: // write to clipboard UIPasteboard.general.string = "Hello world" // read from clipboard let content = UIPa

我正在寻找一个干净的例子,说明如何将文本复制到iOS剪贴板,然后可以在其他应用程序中使用/粘贴

此功能的好处是可以快速复制文本,而无需传统文本复制的标准文本突出显示功能


我假设关键类位于
UIPasteboard
中,但在中找不到相关区域。

如果您只需要纯文本,可以使用。它既可读又可写:

// write to clipboard
UIPasteboard.general.string = "Hello world"

// read from clipboard
let content = UIPasteboard.general.string

(从剪贴板读取数据时,还建议您首先检查“以避免导致系统在需要数据之前或数据可能不存在时不必要地尝试获取数据”,例如在使用切换时)。

由于复制和粘贴通常是成对完成的,这是对@jtbandes good的补充回答,简洁的回答。我最初来这里是想看看如何粘贴


iOS使这变得容易,因为通用粘贴板可以像变量一样使用。只需获取并设置
UIPasteboard.general.string

下面是一个示例,显示了与
UITextField
一起使用这两个字段:

复制

UIPasteboard.general.string = myTextField.text
粘贴

if let myString = UIPasteboard.general.string {
    myTextField.insertText(myString)
}

请注意,粘贴板字符串是可选的,因此必须先将其展开。

将文本从应用程序复制到剪贴板:

let pasteboard = UIPasteboard.general
pasteboard.string = employee.phoneNumber

SWIFT 4

UIPasteboard.general.string = "TEXT"

在Swift 5中,我可以使用

UIPasteboard.general.string = "Hello world"

然后,您可以将文本粘贴到设备的任何位置

Objective-C:这可能工作正常,但用户复制的内容中是否有图像或文件?
UIPasteboard.general.string
在swift 4.x中工作如何使用字体样式复制字体?这就是为什么我可以使用字体样式复制文本。所以我可以用那种字体Style@KrunalNagvadia,您不能使用字体样式复制文本,但可以使用
myTextField.font
获取字体信息。您可以单独保存该信息并将其应用到其他地方。好的,如果我从我的应用程序复制文本并粘贴到WhatsApp或任何其他应用程序中,它是否支持样式?@KrunalNagvadia,否,iOS系统
UIPasteboard
不支持样式设置。您只能在自己的应用程序中处理样式设置。根据:“不要使用
UIPasteboard.general.string
来确定粘贴板是否包含字符串数据。相反,请使用
hastrings
属性。”