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

SwiftUI-键盘启动后选择器在冻结

如何解决SwiftUI-键盘启动后选择器在冻结

我有一个选择器:

Section(header: Text("About you")) {
    TextField("About you",text: $profileviewmodel.bio)
    Picker(selection: $profileviewmodel.education,label: Text("Education Level")) {
           ForEach(Education.levels,id: \.self) { level in
                 Text(level).tag(level)
           }
       }
     TextField("Occupation",text: $profileviewmodel.occupation)
 }

当我单击文本字段时,会出现键盘,这很好,但是当我单击选择器时,它将带我到新屏幕以选择值并返回到表单。在我的模拟器(iPhone 11 Pro Max)上可以正常使用:

Version 11.6 (921.9.1)
SimulatorKit 581.9.1
CoreSimulator 704.12.2 

但是,当我在真实设备iPhone X-v13.5.1上对此进行测试时,在文本字段(可见键盘)后单击选择器时,应用崩溃。我不确定这是错误吗?

然后我将ontapGesture放置到选择器中以隐藏键盘

Picker(selection: $profileviewmodel.education,label: Text("Education Level")) {
     ForEach(Education.levels,id: \.self) { level in
         Text(level).tag(level)
     }
}.onTapGesture {
    self.hideKeyboard()
}

这有时会起作用,但有时仍然会崩溃,即使我将设备连接到Xcode并尝试获取日志,也不会出现错误,该应用程序是否冻结?

解决方法

弹簧动画似乎存在错误,删除弹簧动画后一切正常

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