我正在使用JTCalendar。我想要获取显示日历的月份。到目前为止,日历中还没有显示月份名称。我使用了下面的代码来显示日历。
calendarManager = JTCalendarManager()
calendarManager?.delegate = self
var calender = calendarManager?.dateHelper.calendar()
calender?.firstWeekday = 1
calendarManager?.contentView = calendarContentView
calendarManager?.setDate(todayDate)请指导我如何用年份显示月份名称。
发布于 2016-12-06 20:39:11
只需将月份的UIView类设置为"JTCalendarMenuView“,然后就可以像这样使用JTCalendarDelegate方法:
- (UIView *)calendarBuildMenuItemView:(JTCalendarManager *)calendar
{
UILabel *label = [UILabel new];
label.textAlignment = NSTextAlignmentCenter;
label.font = [UIFont systemFontOfSize:16];
return label;
}
- (void)calendar:(JTCalendarManager *)calendar prepareMenuItemView:(UILabel *)menuItemView date:(NSDate *)date
{
static NSDateFormatter *dateFormatter;
if(!dateFormatter){
dateFormatter = [NSDateFormatter new];
dateFormatter.dateFormat = @"MMMM yyyy";
}
menuItemView.text = [dateFormatter stringFromDate:date];
}这将为您提供文本“2016年12月”(例如)
发布于 2017-03-24 13:26:56
除了@Aakash的回答之外,menuItemView实际上是一个UIView。所以它没有.text属性。改为使用此行,[(UILabel*) menuItemView setText:dateFormatter :date];
发布于 2019-02-13 16:44:02
Swift 4+:
简单解决方案
var getMonthYearFromDate: String?
{
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "MMMM, yyyy"
let strMonth = dateFormatter.string(from: self)
return strMonth
}
func calendar(_ calendar: JTCalendarManager!, prepareMenuItemView menuItemView: UIView!, date: Date!)
{
print(date.getMonthYearFromDate)
//Do your code modification here
}https://stackoverflow.com/questions/40995282
复制相似问题