作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我想在 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())
}
最佳答案
您可以根据需要创建Max和Min日期,并使用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 到您的 maxDate。这永远不会是真的。
关于ios - 如何在 JTCalender 中设置日期限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41295037/
我想在 JTCalender 中设置日期限制。截至目前,它显示的日期比去年多,比今年早一年。我想设置限制,它应该只显示过去 6 个月和 future 6 个月的日期。我正在使用快速语言。请建议如何解决
我在 iOS 中使用 JTCalender。我想用相同的颜色制作日期、月份名称等标签的颜色。截至目前,某些日期是黑色的。 请建议我怎样才能做到这一点? 最佳答案 您可以使用 JTCalendar 委托
我在日历上将事件显示为标记的日期。所以日历默认显示一月份。现在,即使一月甚至没有事件从三月开始,这个月仍然显示为第一个月,当我滚动到三月时,他们的日期会突出显示。 当我滚动到下个月或之前的以下函数时。
我是一名优秀的程序员,十分优秀!