从日期选择器swift隐藏过去的日期和时间
我想把日期选择器藏起来。但我无法隐藏。有没有办法隐藏过去的日期和时间。当我设置为最小日期时,我可以禁用过去的日期。那么,有没有办法对日期选择器隐藏过去的日期呢 解决方案: 将日期选择器的最小日期设置为当前日期 datePicker.minimumDate=日期 如需参考,您可以按照以下步骤提问: 注意:Minimum date属性将禁用过去日期的选择,但它不会隐藏日期,而是将其灰显。解决方案:从日期选择器swift隐藏过去的日期和时间,swift,datepicker,datetimepicker,uidatepicker,Swift,Datepicker,Datetimepicker,Uidatepicker,我想把日期选择器藏起来。但我无法隐藏。有没有办法隐藏过去的日期和时间。当我设置为最小日期时,我可以禁用过去的日期。那么,有没有办法对日期选择器隐藏过去的日期呢 解决方案: 将日期选择器的最小日期设置为当前日期 datePicker.minimumDate=日期 如需参考,您可以按照以下步骤提问: 注意:Minimum date属性将禁用过去日期的选择,但它不会隐藏日期,而是将其灰显。解决方案: var dateCollection = [Date]() func selectedDate()-
var dateCollection = [Date]()
func selectedDate()->Int{
dateCollection = buildDateCollection()
var row = 0
for index in dateCollection.indices{
let today = Date()
if Calendar.current.compare(today, to: dateCollection[index], toGranularity: .day) == .orderedSame{
row = index
}
}
return row
}
func buildDateCollection()-> [Date]{
dateCollection.append(contentsOf: Date.nextYear())
return dateCollection
}
func formatDatePicker(date: Date) -> String{
formatter.dateFormat = DATE_PICKER_FORMAT_CUSTOM
return formatter.string(from: date)
}
func formatDate(date: Date) -> String{
formatter.dateFormat = SECURIY_CONC_CLIENT_FORMAT_PNDING
return formatter.string(from: date)
}
override func viewDidLoad() {
super.viewDidLoad()
let _ = selectedDate()
}
func setPickerView() {
picker.tag = tag
picker.delegate = self
txtField_Date.dataSource = self
txtField_Date.inputView = picker
}
func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return dateCollection.count
}
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
return formatDatePicker(date: dateCollection[row])
}
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
txtField_Date.text = formatDate(date: self.dateCollection[row])
}
将日期选择器的最小日期设置为当前日期
datePicker.minimumDate=日期
如需参考,您可以按照以下步骤提问:
注意:Minimum date属性将禁用过去日期的选择,但它不会隐藏日期,而是将其灰显
var dateCollection = [Date]()
func selectedDate()->Int{
dateCollection = buildDateCollection()
var row = 0
for index in dateCollection.indices{
let today = Date()
if Calendar.current.compare(today, to: dateCollection[index], toGranularity: .day) == .orderedSame{
row = index
}
}
return row
}
func buildDateCollection()-> [Date]{
dateCollection.append(contentsOf: Date.nextYear())
return dateCollection
}
func formatDatePicker(date: Date) -> String{
formatter.dateFormat = DATE_PICKER_FORMAT_CUSTOM
return formatter.string(from: date)
}
func formatDate(date: Date) -> String{
formatter.dateFormat = SECURIY_CONC_CLIENT_FORMAT_PNDING
return formatter.string(from: date)
}
override func viewDidLoad() {
super.viewDidLoad()
let _ = selectedDate()
}
func setPickerView() {
picker.tag = tag
picker.delegate = self
txtField_Date.dataSource = self
txtField_Date.inputView = picker
}
func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return dateCollection.count
}
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
return formatDatePicker(date: dateCollection[row])
}
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
txtField_Date.text = formatDate(date: self.dateCollection[row])
}
输出屏幕截图:
输出屏幕截图:
你不能隐藏它,因为属性minimumDate会禁用它,但隐藏不在我们手中。您必须创建自己的选择器才能添加此功能。datePicker.minimumDate=Date您不能隐藏它。属性minimumDate会禁用它,但隐藏不在我们手中。您必须创建自己的选择器才能添加此功能。datePicker.minimumDate=日期