swift - Swift 3 以编程方式设置 Datepicker 的日期范围
问题描述
我想以编程方式创建一个日期选择器,范围从今天到 6 天后,例如今天,7/14,... 7/20。
代码如下。
self.datePickerView = UIDatePicker(frame: CGRect(x: 0, y: 50, width: UIScreen.main.bounds.width, height: 180))
if let datePickerView = self.datePickerView {
let currentDate: Date = Date()
datePickerView.calendar = NSCalendar.current
datePickerView.timeZone = NSCalendar.current.timeZone
var beginComponents = DateComponents()
beginComponents.day = 0
datePickerView.minimumDate = Calendar.current.date(byAdding: beginComponents, to: currentDate)
var endComponents = DateComponents()
endComponents.day = 6
datePickerView.maximumDate = Calendar.current.date(byAdding: endComponents, to: currentDate)
dateSelectorView.addSubview(datePickerView)
}
日期选择器不仅显示 7 天,还显示过去日期(例如 7/12)和未来日期(例如 7/21)。有什么解决方案可以只显示 7 天吗?
非常感谢提前!!!
解决方案
var datePicker: UIDatePicker = UIDatePicker()
datePicker?.datePickerMode = .date
datePicker?.minimumDate = Date() // this to set the start date today
//this to set the date range you can change " byAdding: .year " to "byAdding: .month" if you went the range by month or to "byAdding: .day"
let nextDays = Calendar.current.date(byAdding: .year, value: 14, to: Date())
datePicker?.maximumDate = nextDays ?? Date() // this to set the maximum date
推荐阅读
- php - 如何检测文本中的 url 并将所有 _ 替换为 _ 正则表达式
- php - NetSuite 和 PHP:搜索 SelectCustomFieldRef 自定义字段
- python - 寻找一种加速熊猫合并的方法(或可能是另一种方法)
- javascript - 无法检查文件是否存在并执行语句
- android - Active Directory B2C 可以使用本机 Facebook 应用程序而不是 webview 吗?
- c# - 更新实体框架中的导航属性
- c++ - 如何将徽标添加到图像中作为水印?
- python - Python 单元测试 - else 块不执行,如果执行,则没有日志记录
- javascript - 让用户下载他无法通过 URL 访问但存储在服务器上的文件
- list - SwiftUI 如何在 EditMode 更改时执行操作?