簡體   English   中英

SwiftUI TextField 不接受整數/雙精度數。 怎么做?

[英]SwiftUI TextField does not accept integers/double. How to do so?

我從 iOS 應用程序開發開始,SwiftUI 是我的第一步。

我無法從用戶輸入 integer 或雙精度值。

@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>'

請幫忙!

SwiftUI 的組件期望使用@State 之類的方式對屬性進行雙向綁定,您在聲明 num1 屬性之前使用過@State嗎?

你可以這樣做:

將變量 num1 聲明為

@State private var num1 = ""

您 TextField 不能直接采用 Integer 或雙輸入,您必須只采用字符串輸入,並且可以在評估期間對所需的值進行類型轉換,如

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

實際上他們可以接受數字。 只需為TextField嘗試不同的初始化程序

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM