SwiftUI - 如何将文本复制到剪贴板?
SwiftUI - how to copy text to clipboard?
如何将文本字段的内容复制到 iOS 剪贴板?
我有以下代码 & 想用将文本字段的内容复制到 iOS 剪贴板的语句替换 "print(..)" 语句。
Text(self.BLEinfo.sendRcvLog)
.onTapGesture(count: 2) {
print("Copy text field content to ClipBoard Here..")
}
似乎找不到如何执行此操作的任何 SwiftUI 示例。
谢谢!
使用以下方法 - 将显示的文本放入特定类型的粘贴板(您可以根据需要设置任意数量的值和类型)
更新: 用于 Xcode 13+,因为“'kUTTypePlainText' 在 iOS 15.0 中被弃用...”警告
import UniformTypeIdentifiers
Text(self.BLEinfo.sendRcvLog)
.onTapGesture(count: 2) {
UIPasteboard.general.setValue(self.BLEinfo.sendRcvLog,
forPasteboardType: UTType.plainText.identifier)
}
旧版本:
import MobileCoreServices // << for UTI types
// ... other code
Text(self.BLEinfo.sendRcvLog)
.onTapGesture(count: 2) {
UIPasteboard.general.setValue(self.BLEinfo.sendRcvLog,
forPasteboardType: kUTTypePlainText as String)
}
Text(self.BLEinfo.sendRcvLog)
.onTapGesture(count: 2) {
UIPasteboard.general.string = self.BLEinfo.sendRcvLog
}
或者非常喜欢:
Text(self.BLEinfo.sendRcvLog)
.contextMenu {
Button(action: {
UIPasteboard.general.string = self.BLEinfo.sendRcvLog
}) {
Text("Copy to clipboard")
Image(systemName: "doc.on.doc")
}
}
对于iOS 14+
UIPasteboard.general.setValue(message, forPasteboardType: "public.plain-text")
如何将文本字段的内容复制到 iOS 剪贴板?
我有以下代码 & 想用将文本字段的内容复制到 iOS 剪贴板的语句替换 "print(..)" 语句。
Text(self.BLEinfo.sendRcvLog)
.onTapGesture(count: 2) {
print("Copy text field content to ClipBoard Here..")
}
似乎找不到如何执行此操作的任何 SwiftUI 示例。
谢谢!
使用以下方法 - 将显示的文本放入特定类型的粘贴板(您可以根据需要设置任意数量的值和类型)
更新: 用于 Xcode 13+,因为“'kUTTypePlainText' 在 iOS 15.0 中被弃用...”警告
import UniformTypeIdentifiers
Text(self.BLEinfo.sendRcvLog)
.onTapGesture(count: 2) {
UIPasteboard.general.setValue(self.BLEinfo.sendRcvLog,
forPasteboardType: UTType.plainText.identifier)
}
旧版本:
import MobileCoreServices // << for UTI types
// ... other code
Text(self.BLEinfo.sendRcvLog)
.onTapGesture(count: 2) {
UIPasteboard.general.setValue(self.BLEinfo.sendRcvLog,
forPasteboardType: kUTTypePlainText as String)
}
Text(self.BLEinfo.sendRcvLog)
.onTapGesture(count: 2) {
UIPasteboard.general.string = self.BLEinfo.sendRcvLog
}
或者非常喜欢:
Text(self.BLEinfo.sendRcvLog)
.contextMenu {
Button(action: {
UIPasteboard.general.string = self.BLEinfo.sendRcvLog
}) {
Text("Copy to clipboard")
Image(systemName: "doc.on.doc")
}
}
对于iOS 14+
UIPasteboard.general.setValue(message, forPasteboardType: "public.plain-text")