我正在使用MBCalendarKit来自定义日历。我想在每个日历单元格中添加文本标签。有关github“https://github.com/MosheBerman/MBCalendarKit”的参考下载示例代码。
修改
为了制作多个标签,我使用了for循环。怎么了?
NSMutableArray *dateButtons = [NSMutableArray array];
for (NSInteger i = 1; i <= 42; i++) {
DateButton *dateButton = [DateButton buttonWithType:UIButtonTypeCustom];
dateButton.calendar = self.calendar;
[dateButton addTarget:self action:@selector(_dateButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
UILabel *travelTime = [[UILabel alloc] initWithFrame:CGRectMake(3, 23, 20, 20)];
travelTime.font=[travelTime.font fontWithSize:9];
[travelTime setTextColor:[UIColor blueColor]];
travelTime.text = @"9";
UILabel *workTime = [[UILabel alloc] initWithFrame:CGRectMake(30, 23, 20, 20)];
workTime.font=[workTime.font fontWithSize:9];
[workTime setTextColor:[UIColor orangeColor]];
workTime.text = @"9";
[dateButton addSubview:travelTime];
[dateButton addSubview:workTime];
[dateButtons addObject:dateButton];
}
self.dateButtons = dateButtons;
答案 0 :(得分:0)
如果您使用的是旧版MBCalendarKit,则可能需要直接修改CKCalendarCell类,以在单元格内显示自定义内容。
MBCalendarKit 5有一些更改,允许向单元格添加自定义内容。在您自己的代码中实现CKCustomCellProvider
协议。您需要实现两个部分:
如果你想用你自己的替换原始单元格内容,那么你应该创建一个自定义的UICollectionView子类并从customCellClass返回该类。在calendarView中:willDisplayCell:inContext:您将使用自动布局约束设置您的单元格。
如果要修改默认单元格的内容,可以从customCellClass返回CKCalendarCell.class
,然后使用calendarView:willDisplayCell:inContext:将为您提供默认单元格的实例根据需要修改。
免责声明:我是MBCalendarKit的作者