为什么 datePicker View 的转换不能按预期工作?

谢尔多

如果我尝试打开这个 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章