我在tableView上有一个过滤器,它有一个'From'和'To'Months选项。
选择月份,我的意思是,当我选择Month时,datePicker只应显示Month Year。该清单应包含从今天起的最后12个月。
我查看了默认的UIDatePicker,但意识到不可能只获得Month-Year。 (Reference answer from SO)
进一步观察,我发现this link有一个定制的月份选择器,但显示未来15年。并且,在选择任何行时,没有任何反应。
有人可以帮助我自定义它以显示从今天起的过去12个月并在选择后获取结果吗?
答案 0 :(得分:0)
这是过去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: $0)}))