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

swiftserver side programmingprogramming

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

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

将文本复制并粘贴到剪贴板

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

示例

import UIKit
let text = "Lorem Ipsum 只是印刷排版行业的虚拟文本。自 1500 年代以来,Lorem Ipsum 一直是业界的标准虚拟文本,当时一位不知名的印刷工从打字样板中取出一页并将其打乱,制作成一本字样书。"
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://www.tutorialspoint.com/")
UIPasteboard.general.url = urlObject
if let pastedObject = UIPasteboard.general.url {
   print("Pasted value: \(pastedObject)")
}

输出

Pasted value: https://www.tutorialspoint.com/

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

结论

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


相关文章