微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

swiftUI 的新手有没有办法显示一个空白的 TextField 并带有数字输入的灰色提示

如何解决swiftUI 的新手有没有办法显示一个空白的 TextField 并带有数字输入的灰色提示

我正在尝试通过 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
    }()
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。