做日历开发中经常要用到的一个类是NSCalendar,作者通常要用到他来获取年月日甚至是某个月有多少天这种需求,今天作者为大家讲解一个最简单的日历表,初学者都能看懂的,那么,我们开始吧
在做日历之前我们要分清楚以下的几个需求:
1.分析这个月的第一天是第一周的星期几
2.分析这个月有多少天
那么好了,我们一开始当然需要知道这个月的第一天是星期几才能说得上是一个月历嘛,所以我们要把星期日到星期一的 label 都创建出来
// weekday
NSArray *array = @[@"周日",@"周一",@"周二",@"周三",@"周四",@"周五",@"周六"];
UIView *weekBg = [[UIView alloc]init];
weekBg.frame = CGRectMake(0, CGRectGetMaxY(headlabel.frame), self.frame.size.width, itemH);
[self addSubview:weekBg];
这就是我们首先要显示这一周的周期表了,哈哈
好了,当然,我们也需要到创建这周一到周日 个按钮,这些按钮用来显示周一~ 周日的label 了
for (int i = 0; i < array.count; i ++) {
UILabel *label = [[UILabel alloc]init];
label.text = array[i];
label.font = [UIFont systemFontOfSize:14];
label.textColor = [UIColor redColor];
label.frame = CGRectMake(itemW * i, 0, itemW, itemH);
label.textAlignment = NSTextAlignmentCenter;
[weekBg addSubview:label];
}
那么,日期的7个 label 算是创建好了,但是他们还没有显示任何东西,那么我们当然需要知道,这个月的第一天是星期几,才能确定数字1的位置是在那个 lable