gpt4 book ai didi

ios - 输入 Int 的 iOS SwiftUI TextField 缺少占位符

转载 作者:行者123 更新时间:2023-12-02 16:31:19 25 4
gpt4 key购买 nike

我想要我的 iOS SwiftUI TextField显示占位符“输入一个整数:”,但 TextField 显示 0(var 值的值)。当用户删除 0 时,占位符“输入一个整数:”确实会出现。如何让占位符“输入一个整数:”出现而不让用户先删除 0?先感谢您。 macOS Catalina 10.15.6 上的 Xcode 11.6。

struct ContentView: View {
@State private var value: Int = 0;
@State private var text: String = "";

var body: some View {
VStack {
TextField(
"Enter an integer:",
value: $value,
formatter: NumberFormatter(),
onCommit: {self.text = "The product is \(2 * self.value).";}
)
.keyboardType(.numbersAndPunctuation)
.textFieldStyle(RoundedBorderTextFieldStyle())

Text(text)
}
.padding([.leading, .trailing], 16)
}
}

最佳答案

要给占位符格式化TextField,我们需要使用可选的值持有者。

这是一个固定的变体

demo

struct ContentView: View {
@State private var value: Int?
@State private var text: String = ""

var body: some View {
VStack {
TextField(
"Enter an integer:",
value: $value,
formatter: NumberFormatter(),
onCommit: {self.text = "The product is \(2 * (self.value ?? 0)).";}
)
.keyboardType(.numbersAndPunctuation)
.textFieldStyle(RoundedBorderTextFieldStyle())

Text(text)
}
.padding([.leading, .trailing], 16)
}
}

关于ios - 输入 Int 的 iOS SwiftUI TextField 缺少占位符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63447662/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com