首页 > 解决方案 > 将 DatePicker 与 Form 外的展开动画一起使用

问题描述

如果我在表单中使用 DatePicker,它将按照我想要的方式呈现。起初,它只是带有标签和当前值的一行。当用户单击时,它将展开并显示日期选择器轮。

例子:

Form {
    DatePicker(selection: $dueDate, displayedComponents: .date) {
        Text("Due date")
    }
}

在用户单击时扩展到此:

在此处输入图像描述

现在的问题是;是否有可能在表单之外获得这种行为?- 在我的上下文中,表单让事情看起来很丑。我不想要灰色背景或阴影。

有人对此有解决方案,还是需要自定义实现?

我第一次尝试在 DatePicker 周围使用 Form,给了我这个::-)

在此处输入图像描述

标签: swiftui

解决方案


好的,现在我发现了一些似乎可行的方法。

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()
    }
}

我没有包括所有的逻辑,但这是一个很好的起点。


推荐阅读