gpt4 book ai didi

ios - 如何在 JTCalender 中设置日期限制?

转载 作者:可可西里 更新时间:2023-11-01 00:57:49 27 4
gpt4 key购买 nike

我想在 JTCalender 中设置日期限制。截至目前,它显示的日期比去年多,比今年早一年。我想设置限制,它应该只显示过去 6 个月和 future 6 个月的日期。我正在使用快速语言。请建议如何解决此问题?

编辑:我也在我的应用程序中使用以下代码。

func calendarDidLoadNextPage(_ calendar: JTCalendarManager!) {

let formatter = DateFormatter()
formatter.dateFormat = "MMMM yyyy"
print("load next date \(calendar.date())")
label_month.text = formatter.string(from: calendar.date()).uppercased()
filterDate(cal_date: calendar.date())
}

func calendarDidLoadPreviousPage(_ calendar: JTCalendarManager!) {
let formatter = DateFormatter()
formatter.dateFormat = "MMMM yyyy"
print("loading previous date is \(self.dateFormatter().string(from: calendar.date()))")
label_month.text = formatter.string(from: calendar.date()).uppercased()
filterDate(cal_date: calendar.date())
}

最佳答案

您可以根据需要创建MaxMin日期,并使用JTCalendar的委托(delegate)方法来限制日历的日期。

在您的界面

 NSDate *_todayDate;
NSDate *_minDate;
NSDate *_maxDate;
@property (strong, nonatomic) JTCalendarManager *calendarManager;

在实现部分,您可以执行以下代码。

_calendarManager = [JTCalendarManager new];
_calendarManager.delegate = self;

_todayDate = [NSDate date];

_minDate = [_calendarManager.dateHelper addToDate:_todayDate months:-6];

_maxDate = [_calendarManager.dateHelper addToDate:_todayDate months:6];

还有一个委托(delegate)方法来限制日历的日期

// Used to limit the date for the calendar, optional
- (BOOL)calendar:(JTCalendarManager *)calendar canDisplayPageWithDate:(NSDate *)date
{
return [_calendarManager.dateHelper date:date isEqualOrAfter:_minDate andEqualOrBefore:_maxDate];
}

问题出在您的委托(delegate)方法中。

func calendar(_ calendar: JTCalendarManager!, canDisplayPageWith date: Date!) -> Bool {

return (calendarManager?.dateHelper.date(minDate, isEqualOrAfter: maxDate))!
}

您正在传递 minDate 以检查 isEqualorAfter 到您的 ma​​xDate。这永远不会是真的。

关于ios - 如何在 JTCalender 中设置日期限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41295037/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com