swiftUI 的新手。有没有一种方法可以显示一个空白的 TextField,并带有灰色的数字输入提示

new to swiftUI. Is there a way to show a blank TextField with the grayed out prompt for a numeric entry

我正在尝试通过 TextField 获取数字输入。请参阅下面的相关代码。显示屏不显示灰显 'item1:' 的 TextField。它显示的是初始值 0。删除 0 确实会显示 TextField 提示。想看看有没有办法显示提示。

@State var item1 = 0





TextField(" item1:", value: $item1, formatter: numberFormatter )





private let numberFormatter: NumberFormatter = {
    let formatter = NumberFormatter()
    formatter.numberStyle = .decimal
    // formatter.timeStyle = .medium
    return formatter
   }()

让你的 item1 成为可选的 int,因为 SwiftUI 不知道值 0 是否已经由用户提供,因此,它假设不需要占位符,添加检查以安全地打开可选的包装。

struct TestNumber: View {
    @State private var myNumber: Int?
    
    var body: some View {
        TextField("Enter a Number", value: $myNumber, formatter: numberFormatter)
            
    }
    
    private let numberFormatter: NumberFormatter = {
        let formatter = NumberFormatter()
        formatter.numberStyle = .decimal
        return formatter
    }()
}