IOS 开发笔记——做日历开发的总结

本文是关于iOS日历开发的总结,重点介绍了如何使用NSCalendar类获取月份第一天的星期以及当月的天数。通过创建并布局星期和日期标签,详细解释了构建简单日历的过程,包括定位数字1的位置和确定月份天数的方法。同时,还提到了在处理NSDate时可能遇到的时区问题及解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

做日历开发中经常要用到的一个类是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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值