SwiftUI TextField 不接受整数/双精度.怎么做?



我从iOS应用程序开发开始,SwiftUI是我的第一步。

我无法输入用户的整数或双精度值。

@State public var num1: Double = 0
TextField(" Enter a Number", text: $num1)
//Error: Cannot convert value of type 'Binding<Double>' to expected argument type 'Binding<String>'

请帮忙!

实际上他们可以接受数字。只需尝试使用不同的初始值设定项即可TextField

TextField("placeholder", value: $yourValue, formatter: NumberFormatter())

SwiftUI 的组件希望对属性进行双向绑定,使用 @State, 在声明 num1 属性之前,您是否使用过@State

你可以做这样的事情:

将变量 num1 声明为

@State private var num1 = ""

TextField 不能直接接受整数或双精度输入,您只需要接受字符串输入,并且可以在评估期间对所需的值进行类型转换,因为

print("Input taken is : (Double(num1))")

最新更新