Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/109.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
Ios 禁用FScalendar swift中的未来日期选择_Ios_Swift_Fscalendar - Fatal编程技术网

Ios 禁用FScalendar swift中的未来日期选择

Ios 禁用FScalendar swift中的未来日期选择,ios,swift,fscalendar,Ios,Swift,Fscalendar,我正在我的项目中使用。MaximumSelectedDate是只读属性。那么如何禁用未来日期?一个解决方法是编辑FSCalendar方法文件。首先生成一个bool变量,比如允许限制未来日期和一个字符串变量maxValidFutureDateAsString,然后将的第172行更改为: 因此,当您想要限制设置的日期时,被允许为limitfuturedates=true 类似于线路1707 如果您无法编辑文件和已使用的播客,则可以自定义此控件并覆盖它们 希望有帮助 您应该使用委托方法来解决此问题 f

我正在我的项目中使用。MaximumSelectedDate是只读属性。那么如何禁用未来日期?

一个解决方法是编辑
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
  }