我正在寻找一个干净的示例,说明如何将文本复制到iOS剪贴板中,然后可以在其他应用程序中使用/粘贴。这个功能的好处是可以快速复制文本,而不需要传统文本复制的标准文本突出显示功能。我假设关键类在
UIPasteboard
中,但在他们提供的代码示例中找不到相关区域。UIPasteboard
中,但在他们提供的代码示例中找不到相关区域。string
property。// write to clipboard
UIPasteboard.general.string = "Hello world"
// read from clipboard
let content = UIPasteboard.general.string
当从剪贴板中读取内容时,UIPasteboard文档建议您先检查hasStrings
,"以避免在不需要数据或数据可能不存在时使系统不必要地尝试获取数据,例如在使用Handoff时"。
UIPasteboard.general.string
在 Swift 4.x 中也适用。 - spnkr由于复制和粘贴通常是成对进行的,因此这是对@jtbandes简明扼要的答案的补充。我最初来到这里是为了找如何粘贴。
iOS很容易实现这一点,因为可以将通用剪贴板用作变量。只需获取并设置UIPasteboard.general.string
即可。
下面是一个示例,展示了如何在UITextField
中同时使用复制和粘贴:
复制
UIPasteboard.general.string = myTextField.text
粘贴
if let myString = UIPasteboard.general.string {
myTextField.insertText(myString)
}
请注意,粘贴板字符串是一个可选类型,因此必须首先解包它。
myTextField.font
获取字体信息。你可以将这些信息单独保存并在其他地方应用。 - SuragchUIPasteboard
不支持样式。你只能在自己的应用程序中处理样式。 - Suragch在Swift 5中,我可以使用以下代码将文本复制到剪贴板
UIPasteboard.general.string = "要复制的文本"
UIPasteboard.general.string = "Hello world"
然后您可以将文本粘贴到设备的任何位置
从应用程序复制文本到剪贴板:
let pasteboard = UIPasteboard.general
pasteboard.string = employee.phoneNumber
SWIFT 4
UIPasteboard.general.string = "TEXT"
UIPasteboard.general.string = "Dhaval Gevariya" // Put your String here
这是用于从剪贴板中读取字符串的功能。
var readString = UIPasteboard.general.string
import UIKit.UIPasteboard
extension UIPasteboard {
static func pasteToClipboard(_ content: String) {
self.general.string = content
}
static func readFromClipboard() -> String? {
return self.general.string
}
}