Ios 禁用FScalendar swift中的未来日期选择
我正在我的项目中使用。MaximumSelectedDate是只读属性。那么如何禁用未来日期?一个解决方法是编辑Ios 禁用FScalendar swift中的未来日期选择,ios,swift,fscalendar,Ios,Swift,Fscalendar,我正在我的项目中使用。MaximumSelectedDate是只读属性。那么如何禁用未来日期?一个解决方法是编辑FSCalendar方法文件。首先生成一个bool变量,比如允许限制未来日期和一个字符串变量maxValidFutureDateAsString,然后将的第172行更改为: 因此,当您想要限制设置的日期时,被允许为limitfuturedates=true 类似于线路1707 如果您无法编辑文件和已使用的播客,则可以自定义此控件并覆盖它们 希望有帮助 您应该使用委托方法来解决此问题 f
FSCalendar
方法文件。首先生成一个bool变量,比如允许限制未来日期
和一个字符串变量maxValidFutureDateAsString
,然后将的第172行更改为:
因此,当您想要限制设置的日期时,被允许为limitfuturedates=true
类似于线路1707
如果您无法编辑文件和已使用的播客,则可以自定义此控件并覆盖它们
希望有帮助 您应该使用委托方法来解决此问题
func maximumDate(for calendar: FSCalendar) -> Date {
return Date()
}
@Devraj的回答是正确的,在最短日期和最长日期都有代表,您所需要做的就是在控制器中实现符合
fscalendar delegate
的正确代表(在您的情况下是后一个),这就完成了
func maximumDateForCalendar(日历:FSCalendar)->NSDate{
return NSDate()//此处选择的NSDate
}
用于Swift 3
fileprivate lazy var dateFormatter2: DateFormatter = {
let formatter = DateFormatter()
formatter.dateFormat = "dd-MM-yyyy"
return formatter }()
let today = dateFormatter2.string(from: calendar.selectedDate!)
let dateObj = dateFormatter2.date(from: today)
if dateObj! > calendar.today! {
// Your logic here
}
伟大的很高兴帮助你!这应该被标记为回答,如果你想禁用前几天,只需将
minimumDate()
改为maximumDate()
。谢谢@Devraj。它工作得很好。是的,这应该是标记答案。
fileprivate lazy var dateFormatter2: DateFormatter = {
let formatter = DateFormatter()
formatter.dateFormat = "dd-MM-yyyy"
return formatter }()
let today = dateFormatter2.string(from: calendar.selectedDate!)
let dateObj = dateFormatter2.date(from: today)
if dateObj! > calendar.today! {
// Your logic here
}