swiftui - 将 DatePicker 与 Form 外的展开动画一起使用
问题描述
如果我在表单中使用 DatePicker,它将按照我想要的方式呈现。起初,它只是带有标签和当前值的一行。当用户单击时,它将展开并显示日期选择器轮。
例子:
Form {
DatePicker(selection: $dueDate, displayedComponents: .date) {
Text("Due date")
}
}
在用户单击时扩展到此:
现在的问题是;是否有可能在表单之外获得这种行为?- 在我的上下文中,表单让事情看起来很丑。我不想要灰色背景或阴影。
有人对此有解决方案,还是需要自定义实现?
我第一次尝试在 DatePicker 周围使用 Form,给了我这个::-)
解决方案
好的,现在我发现了一些似乎可行的方法。
var body: some View {
VStack(spacing: 0) {
VStack(alignment: .leading){
Text("Due date")
Text(formattedDate)
Divider().background(Color.gray)
}.frame(minWidth: 0, maxWidth: .infinity).onTapGesture {
withAnimation {
self.showSelect.toggle()
}
}
if showSelect {
DatePicker("", selection: $date, displayedComponents: [.date]).labelsHidden()
}
Spacer()
}
}
我没有包括所有的逻辑,但这是一个很好的起点。