如果我尝试打开这个 DatePicker,视图会在转换时跳跃,然后到达固定位置。控制台也有很长的错误信息...“无法同时满足约束。”...
如果我只显示 .date 组件就没有这个问题。是内部问题吗?如果是,我如何存档相同的行为,因为我想要日期+时间选择器而没有详细信息弹出屏幕,以便更快地选择。
谢谢你的帮助 :)
https://imgur.com/a/IEy2syY(在第二个按钮点击有错误过渡)
struct ContentView: View {
@State var toggle = false
@State var date = Date(timeIntervalSinceNow: 0)
var body: some View {
ZStack{
Button("sdflkj"){
toggle.toggle()
}
VStack{
Spacer()
if toggle{
DatePicker("lsadjf", selection: $date, displayedComponents: [.date,.hourAndMinute])
.labelsHidden()
.datePickerStyle(GraphicalDatePickerStyle())
}
}
}
}
}
似乎是Button
和重叠导致的错误DatePicker
。
用 iPhone 12 模拟器测试
struct ContentView: View {
@State var toggle = false
@State var date = Date(timeIntervalSinceNow: 0)
var body: some View {
ZStack{
Button("Button"){
// add `withAnimation()`
withAnimation(.easeIn) {
toggle.toggle()
}
}
.offset(y: -50) // set y offset for prevent overlapping of Button and DatePicker
VStack{
Spacer()
if toggle {
DatePicker("", selection: $date, displayedComponents: [.date,.hourAndMinute])
.padding()
.labelsHidden()
.datePickerStyle(GraphicalDatePickerStyle())
.zIndex(5) // or add .zIndex for prevent overlapping of Button and DatePicker
}
}
}
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句