如何复制文本到剪贴板/剪贴板与Swift

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

该功能的好处是可以快速复制文本,无需传统文本复制的标准文本高亮显示功能。

我假设关键类在UIPasteboard中,但在他们提供的代码示例中找不到相关区域。

123171 次浏览

如果你想要的只是纯文本,你可以使用string财产。它既可读又可写:

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


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

(当从剪贴板阅读时,UIPasteboard文档也建议你可能想先检查hasStrings,“以避免导致系统不必要地试图在需要数据之前或数据可能不存在时获取数据”,例如在使用Handoff时。)

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

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

斯威夫特4

UIPasteboard.general.string = "TEXT"

在Swift 5中,我可以复制文本到剪贴板使用

UIPasteboard.general.string = "Hello world"

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

写下面的代码,你想复制字符串或文本

UIPasteboard.general.string = "Dhaval Gevariya" // Put your String here

这是从剪贴板读取字符串。

var readString = UIPasteboard.general.string