iOS 封装日历表

不多说先上图:

需求结构图

如上效果图所示
第一个红框一个view就搞定。
第二个红框想到主要控件就是用UICollectionView。每个分为两个section,section0数据一个数组就OK了。

接下来重点分析下section1的数据

今天是哪一天

- (NSInteger)day:(NSDate *)date{
    NSDateComponents *components = [[NSCalendar currentCalendar] components:(NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay) fromDate:date];
    return [components day];
}

第本月是第几个月

- (NSInteger)month:(NSDate *)date{
    NSDateComponents *components = [[NSCalendar currentCalendar] components:(NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay) fromDate:date];
    return [components month];
}

今年是哪一年年份

- (NSInteger)year:(NSDate *)date{
    NSDateComponents *components = [[NSCalendar currentCalendar] components:(NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay) fromDate:date];
    return [components year];
}

这个月有几天

- (NSInteger)totaldaysInMonth:(NSDate *)date{
    NSRange daysInLastMonth = [[NSCalendar currentCalendar] rangeOfUnit:NSCalendarUnitDay inUnit:NSCalendarUnitMonth forDate:date];
    return daysInLastMonth.length;
}
日历表效果

demo地址:https://github.com/tubie/JFCalendarPicker

屏幕快照 2015-10-07 18.58.48.png

如果你觉得还不错可以给我一个小星星。我会很开心的。
有什么问题我会一一解答。

注:本demo的设计思路参考是一个千皇89的的简友

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本地桌面 屏幕保护程序 Spotlight 插件 QuickLook 插件 本地workflow文件 Safari...
    雨桥明夜阅读 3,744评论 0 0
  • 对你的记忆还停留在六年前的那场盛夏,八月长安,焦躁的日光透过树叶的罅隙,厚厚的打在路人的脸上,柏油路散发的味道刺鼻...
    夏初晨阅读 5,055评论 8 11