Swift 过去 12 个月的月年 pickerView

Swift Month year pickerView with last 12 months

我在 tableView 上有一个过滤器,它有 'From' 和 'To' 个月 selection。

月 selection,我的意思是,当我 select 月时,datePicker 应该只显示月年。该列表应包含从今天开始的过去 12 个月。

我查看了默认的 UIDatePicker,但意识到不可能只获取月-年。 (Reference answer from SO)

进一步查看,我发现 this link 有一个自定义的月-年选择器,但它显示的是未来 15 年。而且,在任何行的 selection 上,没有任何反应。

有人可以帮我自定义它以显示从今天开始的过去 12 个月并在 selection 时获取结果吗?

这是获取过去 12 个月的简单示例

var last12Months = [Date]()
let firstDayComponent = DateComponents(day: 1)
Calendar.current.enumerateDates(startingAfter: Date(), 
                 matching: firstDayComponent, 
                 matchingPolicy: .nextTime, 
                 direction: .backward, 
                 using: { (date, idx, stop) in
    if let date = date {last12Months.append(date) }
    if last12Months.count == 12 { stop = true }
})

print(last12Months)
let formatter = DateFormatter()
formatter.dateFormat = "MMMM yyyy"
print(last12Months.map({formatter.string(from: [=10=])}))