SwiftUI MultiDatePicker选中日期超92个时显示异常求助
SwiftUI MultiDatePicker选中超过92个日期后选中状态消失的原因
这是SwiftUI原生MultiDatePicker的系统级bug,存在于iOS 17、iPadOS 17及对应版本的macOS等Apple平台中。
组件内部的日期渲染与状态同步逻辑有一个隐性的数量上限:当选中日期集合的大小超过92时,滚动操作会触发组件内部的状态异常,导致已选中的日期标记被错误清除。你测试的92天(10月1日至12月31日)刚好处于临界值范围内,因此能正常显示;而93天的选择跨月后触发了这个边界问题。
目前官方尚未修复该缺陷,可通过以下方式临时规避:
- 自定义实现多日期选择器,完全控制选中状态的渲染与同步逻辑
- 使用第三方日期选择库替代原生
MultiDatePicker
内容的提问来源于stack exchange,提问作者James
相关产品推荐
相关产品推荐

