我想制作按鈕,按下該按鈕將向我們顯示隨機文本欄位(來自 3 個文本欄位:用戶名、用戶名 2 或用戶名 3)。目前我有這樣的東西,但不知道如何讓它成為可能。
struct Test: View {
/// @State private var names : ??? - I don't know what should be there
@State private var username: String = ""
@State var username2: String = ""
@State var username3: String = ""
var body: some View {
NavigationView {
VStack {
TextField("Your name", text: $username)
TextField("Your name2", text: $username2)
TextField("Your name3", text: $username3)
Button(action: randomName) {
Text("draw")
}
}
Text("names.text") /// it doesn't work
.foregroundColor(.black)
.font(.largeTitle)
}
}
}
private func randomName() {
let names = ["\(username)", "\(username2)", "\(username3)"]
}
}
我試圖將所有內容添加到第一個 @State 私有 var 名稱中,但沒有任何作業正常。也許我只是以錯誤的方式嘗試?或者它不應該通過'let names'來完成?我不知道,也不知道。
uj5u.com熱心網友回復:
首先,您只需要將 randomName 添加為 State。
struct Example: View {
@State private var username: String = ""
@State var username2: String = ""
@State var username3: String = ""
@State var selectedName: String = "Initial Value"
var body: some View {
NavigationView {
VStack {
TextField("Your name", text: $username)
TextField("Your name2", text: $username2)
TextField("Your name3", text: $username3)
Button(action: randomName) {
Text("draw")
}
Text(selectedName)
.foregroundColor(.black)
.font(.largeTitle)
}
}
}
private func randomName() {
let names = ["\(username)", "\(username2)", "\(username3)"]
selectedName = names[Int.random(in: 0..<names.count)]
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/535845.html
標籤:ios迅速迅捷文本域
上一篇:一種代碼,用于確定給定數量的不同硬幣是否可以形成確切給定數量的美元
下一篇:顯示時重繪iOS小部件
