我必須確保當輸入欄位出現時,如果滿足特定條件,則將剪貼板上的文本插入為輸入欄位的文本。
為此,我onAppear在輸入欄位上使用,問題是如何獲取文本。
誰能幫我嗎?
TextField("Git Repository URL", text: $repoUrlStr)
.lineLimit(1)
.padding(.bottom, 15)
.frame(width: 300)
.onAppear {
// Write to pasteboard
let pasteboard = NSPasteboard.general
pasteboard.declareTypes([NSPasteboard.PasteboardType.string], owner: nil)
//pasteboard.setString("Good Morning", forType: NSPasteboard.PasteboardType.string)
// Read from pasteboard
let read = pasteboard.pasteboardItems?.first?.string(forType: .string)
print("ok", read)
}
uj5u.com熱心網友回復:
嘗試這種方法,以顯示您從文本中讀取Pasteboard的TextField內容:(cmd c在運行應用程式之前用于將一些文本復制到粘貼板中)
struct ContentView: View {
@State var repoUrlStr = ""
var body: some View {
TextField("Git Repository URL", text: $repoUrlStr)
.lineLimit(1)
.padding(.bottom, 15)
.frame(width: 300)
.onAppear {
if let read = NSPasteboard.general.string(forType: .string) {
repoUrlStr = read // <-- here
}
}.frame(width: 444, height: 444)
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/452455.html
