如何在Swift中复制文本到剪贴板?


在Swift中,有一个名为UIPasteboard的专用类,允许您将文本复制到粘贴板。同一个类允许您粘贴文本。

UIPasteboard类是UIKit框架的一部分,它为iOS应用程序中复制和粘贴信息提供了一个通用处理器。在这个类中,可以使用共享实例在应用程序之间复制和粘贴数据。您可以共享各种类型的信息,例如文本、媒体文件、URL和颜色。

复制和粘贴文本到剪贴板

使用UIPasteboard类,您可以通过字符串属性在iOS应用程序中复制和粘贴文本值。这是一个例子:

示例

import UIKit
let text = "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book."
UIPasteboard.general.string = text

这会将文本字符串复制到通用粘贴板,其他应用程序可以访问该粘贴板。

为了从粘贴板粘贴文本,您可以像这样检索它:

import UIKit
let text = "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book."
UIPasteboard.general.string = text
if let pastedText = UIPasteboard.general.string {
   print("Pasted text: \(pastedText)")
}

输出

Pasted text: Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.

此字符串属性为您提供通用粘贴板中当前的文本(如果存在),这就是它返回可选字符串值的原因。

复制和粘贴URL到剪贴板

使用UIPasteboard类,您可以通过“url”属性在iOS应用程序中复制和粘贴URL表示。这是一个例子:

示例

let urlObject = URL(string: "https://tutorialspoint.com/")
UIPasteboard.general.url = urlObject
if let pastedObject = UIPasteboard.general.url {
   print("Pasted value: \(pastedObject)")
}

输出

Pasted value: https://tutorialspoint.com/

注意 - 从iOS 14开始,当应用程序获取源自不同应用程序的通用粘贴板内容而无需用户意图时,系统会通知用户。系统根据用户交互(例如点击系统提供的控件或按Command-V)来确定用户意图。使用下面的属性和方法来确定粘贴板项目是否与各种模式匹配,例如网络搜索词、URL或数字,而无需通知用户。

结论

通过使用UIPasteboard的共享实例,您可以共享文本、图像、URL和其他类型的信息。在这个类中有一个名为“general”的共享实例,用于执行所有通用的复制和粘贴操作。

更新于:2023年4月4日

3K+ 次浏览

启动您的职业生涯

通过完成课程获得认证

开始
广告