如何使用swift 3在iOS中隐藏上一个日期和月份?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用swift 3在iOS中隐藏上一个日期和月份?相关的知识,希望对你有一定的参考价值。

我正在使用帮助器libaray“WWCalendarTimeSelector”GitHub链接: - https://github.com/weilsonwonder/WWCalendarTimeSelector我有一个用户注册日期,它是29/9/2017。现在我想只在下一个日期,月份和年份之间启用日期。

当开始日期选择和将来日期选择其他日期禁用例如开始日期: - 29/09/2017和未来日期选择02/10/2017看到之后的日期,您将被禁用...我该怎么做?请帮忙....

@IBAction func btnSelectClick(_ sender: Any) {

        let selector = UIStoryboard(name: "WWCalendarTimeSelector", bundle: nil).instantiateInitialViewController() as! WWCalendarTimeSelector
        selector.delegate = self
        selector.optionCurrentDate = singleDate
        selector.optionCurrentDates = Set(multipleDates)
        selector.optionCurrentDateRange.setStartDate(multipleDates.first ?? singleDate)
        selector.optionCurrentDateRange.setEndDate(multipleDates.last ?? singleDate)

        selector.optionStyles.showDateMonth(true)
        selector.optionStyles.showMonth(false)
        selector.optionStyles.showYear(true)
        selector.optionStyles.showTime(false)
        present(selector, animated: true, completion: nil)
    }
 func WWCalendarTimeSelectorDone(_ selector: WWCalendarTimeSelector, date: Date) {
        print("Selected 
(date)
---")
        singleDate = date
        dateLabel.text = date.stringFromFormat("d' 'MMMM' 'yyyy', 'h':'mma")
    }

    func WWCalendarTimeSelectorDone(_ selector: WWCalendarTimeSelector, dates: [Date]) {
        print("Selected Multiple Dates 
(dates)
---")
        if let date = dates.first {
            singleDate = date
            dateLabel.text = date.stringFromFormat("d' 'MMMM' 'yyyy', 'h':'mma")
        }
        else {
            dateLabel.text = "No Date Selected"
        }
        multipleDates = dates
    }

enter image description here enter image description here

答案

您需要使用WWCalendarTimeSelectorShouldSelectDate方法来禁用所需的日期/日期范围。以下示例可能对您有所帮助

    fileprivate var today: Date = Date()

    func WWCalendarTimeSelectorShouldSelectDate(_ selector: WWCalendarTimeSelector, date: Date) -> Bool{
        let order = NSCalendar.current.compare(today, to: date, toGranularity: .day)
        if order == .orderedDescending{ {
            //Date selection will be disabled for past days
            return false
        } else {
            //Allows to select from today
            return true
        }
    }

您可以在上面的示例中使用自己的日期范围

以上是关于如何使用swift 3在iOS中隐藏上一个日期和月份?的主要内容,如果未能解决你的问题,请参考以下文章

如何用excel计算两个日期之间相差的年数和月数

ORACLE 数据库 SQL 转换 只取 年和月

ORACLE 数据库 SQL 转换 只取 年和月

如何在 IQKeyboardManager iOS Swift 3 中隐藏工具栏

如何使用点击手势(iOS8 / Swift)在 pageViewController 上显示/隐藏状态栏

iOS Swift 3 - UIDatePicker