SwiftUI DatePicker 应该是可编辑的内联
Posted
技术标签:
【中文标题】SwiftUI DatePicker 应该是可编辑的内联【英文标题】:SwiftUI DatePicker should be editable inline 【发布时间】:2021-02-22 21:25:12 【问题描述】:我在 SwiftUI List
中使用 DatePicker
。我只对小时和分钟感兴趣,因此不需要新引入的日历视图。
如何防止用户点击时间(上午 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)
【问题讨论】:
【参考方案1】:你可以使用GraphicalDatePickerStyle
:
List
HStack
Text("Send motivation at")
DatePicker("", selection: $settings.dailyMotivationReminder, displayedComponents: .hourAndMinute)
.datePickerStyle(GraphicalDatePickerStyle())
.font(.system(.body, design: .serif))
【讨论】:
抱歉忘记添加了。我实际上已经设置了那种风格,它并没有改变任何东西。我假设您的代码运行良好,因此可能是其他原因导致选择器显示在弹出窗口中。 经过测试的@pawello2222 代码,都按预期工作(mac 11,ios 14.2)。所以是的,一定是其他原因导致了问题。向我们展示您正在使用的其他代码,以便我们追踪问题。 大家好,你是对的。真正的问题是我必须把它放在HStack
中并分开Text
和DatePicker
否则它不会工作。非常感谢!以上是关于SwiftUI DatePicker 应该是可编辑的内联的主要内容,如果未能解决你的问题,请参考以下文章
SwiftUI DatePicker:有没有办法让他们不能使用键盘来编辑字段?
SwiftUI DatePicker 在更改日期时在短日期格式和中日期格式之间跳转
如何在编辑其他字段时自动折叠表单中的 DatePicker?
Android中关闭DatePicker和NumberPicker等Picker类的可编辑模式