当我选择第三个日期时,日期范围不会很快为零

问题描述 投票:0回答:1

我使用爱彼迎的地平线日历,问题是当我点击超出范围的日期时,我无法将 selectedDateRange 设置为零。在这个日期选择逻辑中我错过了什么?

.days { day in
      DayView(dayNumber: day.day, isSelected: isDaySelected(day))
        .onTapGesture {
          let dayDate = calendar.date(from: day.components)!
          if let selectedDateRange = selectedDateRange {
            if selectedDateRange.lowerBound == dayDate || selectedDateRange.upperBound == dayDate {
              self.selectedDateRange = nil
            } else {
              if selectedDateRange.contains(dayDate) {
                self.selectedDateRange = nil
              } else {
                self.selectedDateRange = min(selectedDateRange.lowerBound, dayDate)...max(selectedDateRange.upperBound, dayDate)
             
              }
            }
          } else {
            self.selectedDateRange = dayDate...dayDate
          }
        }
    }

我尝试了所有可能的 if 条件但无法使其工作。

swift swiftui datepicker
1个回答
0
投票

对于那些可能遇到这个问题的人。我用这行开关盒解决了问题

                case let range? where range.lowerBound != dayDate && range.upperBound != dayDate && !range.contains(dayDate) && range.lowerBound != range.upperBound || range.contains(dayDate):
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.