3.9 KiB
3.9 KiB
FSCalendar
特点
1. 手势+方向支持
2. 自定义颜色样式
3. 副标题(方便使用农历或节日)
4. iPad兼容
使用方法
- cocoapods安装:
pod 'FSCalendar' - 手动安装: 将‘FSCalendar’ Group下的所有.h和.m文件拖到项目中
"#import "FSCalendar.h"
1. 原生DataSource/Delegate模式 (可以用IBOutlet连接)
self.calendar.dataSource = self;
self.calendar.delegate = self;
FSCalendarDataSource
- (NSString *)calendar:(FSCalendar *)calendar subtitleForDate:(NSDate *)date; // 设置副标题,本例中为农历
- (BOOL)calendar:(FSCalendar *)calendar hasEventForDate:(NSDate *)date; // 设置事件标记
FSCalendarDelegate
- (BOOL)calendar:(FSCalendar *)calendar shouldSelectDate:(NSDate *)date; // 是否允许点击选中某个日期
- (void)calendar:(FSCalendar *)calendar didSelectDate:(NSDate *)date; // 点击某个日期后的回调
- (void)calendarCurrentMonthDidChange:(FSCalendar *)calendar; //
当前月份变化后的回调,用calendar.currentMonth获得包含年份和月份的NSDate对象
2. 更换滑动方向
self.calendar.flow = FSCalendarFlowVertical; // 更换垂直方向滚动,默认位水平FSCalendarFlowHorizontal
3. 灵活更换样式
[[FSCalendar appearance] setWeekdayTextColor:[UIColor redColor]]; // 周标记的颜色
[[FSCalendar appearance] setHeaderTitleColor:[UIColor darkGrayColor]]; // 头部显示年月的字体颜色
[[FSCalendar appearance] setEventColor:[UIColor greenColor]]; // 事件标记色
[[FSCalendar appearance] setSelectionColor:[UIColor blueColor]]; // 选中日的背景色
[[FSCalendar appearance] setHeaderDateFormat:@"yyyy-MM"]; // 头部日期格式
[[FSCalendar appearance] setMinDissolvedAlpha:0.5]; // 更换位1.0,头部则不再有透明度
[[FSCalendar appearance] setTodayColor:[UIColor redColor]]; // 当前日的背景色
[[FSCalendar appearance] setUnitStyle:FSCalendarUnitStyleCircle]; // 选中日和当前日的北京形状,可以是Circle或Rectangle
4. 显示年月的头部 (支持IBOutlet)
FSCalendarHeader *header = [[FSCalendarHeader alloc] initWithFrame:CGRectMake(0,0,_calendar.frame.size.width,44)];
self.calendar.header = header;
系统版本
ios 7.0
已知问题
- 字体大小随着FSCalendar的Frame大小儿改变
FSCalendar默认情况下根据frame的size改变字体的大小,若想禁用此功能:
self.calendar.autoAdjustTitle = NO;
self.calendar.titleFont = [Your custom font]
self.calendar.subtitleFont = [Your custom font]
titleFont 和 subtitleFont 也可以用UIAppearance来设置,但是只要autoAdjustTitle的值为YES就不会起任何作用
欢迎
- 提交issue或pull request
- 如果您使用了FSCalendar,请在这里上传您的日历的颜色搭配~




