我要尝试的方法是,当用户单击按钮时,日期选择器将显示在屏幕底部。这是我目前拥有的,但datepicker占据了整个屏幕,并显示为一个弹出框。
VStack {
Text("Birthdate").padding()
Button(action: {
self.showSheet = true
}) {
Text(startDate.toMediumString())
}
.sheet(isPresented: $showSheet){
DatePicker("", selection: self.$startDate, in: ...Date(), displayedComponents: .date)
.labelsHidden()
}
}
或者如果已经可以使用内置组件,则更好。
答案 0 :(得分:1)
对不起,没有机会检查。但是我做了这个
VStack {
Text("Birthdate").padding()
Button(action: {
self.showSheet = true
}) {
Text(startDate.toMediumString())
}
...
Spacer(minLength: 120)
if (self.showSheet == true){
HStack(alignment: .bottom) {
DatePicker("", selection: self.$startDate, in: ...Date(), displayedComponents: .date)
.labelsHidden()
}
.padding(EdgeInsets.init(top: 30, leading: 40, bottom: 120, trailing: 50)).background(Color.gray.opacity(0.1))
}
}