【问题标题】:Show random TextField as a text将随机 TextField 显示为文本
【发布时间】:2022-11-17 05:19:13
【问题描述】:

我想制作按钮,按下该按钮将向我们显示随机文本字段(来自 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'来完成? 我不知道,也不知道。

【问题讨论】:

    标签: ios swift swiftui textfield


    【解决方案1】:

    首先你只需要设置你的用户名,然后你会在文本字段中看到你的文本。

    添加名称数组并设置文本。单击按钮时,您的 randomName 方法使用数组中的名称设置状态值。

    private let names = ["Wamakaz", "Claire", "Rick", "Micheal", "Jim"]
    
    private func randomName() {
        username = names[Int.random(in: 0..<names.count)]
        username2 = names[Int.random(in: 0..<names.count)]
        username3 = names[Int.random(in: 0..<names.count)]
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-24
      • 1970-01-01
      • 2014-06-28
      • 2017-05-20
      相关资源
      最近更新 更多