SwiftUI DatePicker应该可以内联编辑

问题描述

我在SwiftUI DatePicker中使用了List。我只对小时和分钟感兴趣,因此不需要新引入的日历视图。

如何防止用户点击时间(上午8:30)后出现的弹出窗口?如果可以像在iOS日历应用中那样进行内联编辑,那将是理想的选择。

这是我创建DatePicker的方式:

DatePicker("Send motivation at",selection: $settings.dailyMotivationReminder,displayedComponents: .hourAndMinute)
                .datePickerStyle(DefaultDatePickerStyle())
                .font(.system(.body,design: .serif))
                .disabled(!settings.isDailyMotivationEnabled)
                .opacity(settings.isDailyMotivationEnabled ? 1.0 : 0.4)

解决方法

您可以使用GraphicalDatePickerStyle

List {
    HStack {
        Text("Send motivation at")
        DatePicker("",selection: $settings.dailyMotivationReminder,displayedComponents: .hourAndMinute)
            .datePickerStyle(GraphicalDatePickerStyle())
            .font(.system(.body,design: .serif))
    }
}