Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从日期选择器swift隐藏过去的日期和时间_Swift_Datepicker_Datetimepicker_Uidatepicker - Fatal编程技术网

从日期选择器swift隐藏过去的日期和时间

从日期选择器swift隐藏过去的日期和时间,swift,datepicker,datetimepicker,uidatepicker,Swift,Datepicker,Datetimepicker,Uidatepicker,我想把日期选择器藏起来。但我无法隐藏。有没有办法隐藏过去的日期和时间。当我设置为最小日期时,我可以禁用过去的日期。那么,有没有办法对日期选择器隐藏过去的日期呢 解决方案: 将日期选择器的最小日期设置为当前日期 datePicker.minimumDate=日期 如需参考,您可以按照以下步骤提问: 注意:Minimum date属性将禁用过去日期的选择,但它不会隐藏日期,而是将其灰显。解决方案: var dateCollection = [Date]() func selectedDate()-

我想把日期选择器藏起来。但我无法隐藏。有没有办法隐藏过去的日期和时间。当我设置为最小日期时,我可以禁用过去的日期。那么,有没有办法对日期选择器隐藏过去的日期呢

解决方案:

将日期选择器的最小日期设置为当前日期

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])
}
将日期选择器的最小日期设置为当前日期

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=日期