日历的实现:
1.第一步我们首先要确定你要实现的功能.
2.视图部分
知道这两点我们就好实现,首先功能无非就是选择我们的app所能够选择到的日期
视图展示部分或者采用tableView或者采用collectionView
对于功能部分获取日历的一些信息如下我是把它作为model层进行处理为的就是实现MVC,MVC是什么不说了,只说一点V是路由不要把它写的太厚实:
以下有的方法也是有所参其他的博客,具体内容实现可以参照demo在下面的链接中:我对于model层的实现分为两个类一个是月作为类,一个是把天作为一个类,在oc中比较习惯给一个协议来实现天中要显示的具体,我是用的一种MVC的方式
/**
根据NSDate返回今天是多少号
*/
- (NSInteger)day:(NSDate *)date;
/**
根据NSDate返回month
*/
- (NSInteger)month:(NSDate *)date;
/**
根据NSDate返回year
*/
- (NSInteger)year:(NSDate *)date;
/**
根据NSDate返回这个月的第一天星期几
*/
- (NSInteger)firstWeekdayInThisMonth:(NSDate *)date;
/**
根据NSDate返回这个月总共有多少天
*/
- (NSInteger)totaldaysInThisMonth:(NSDate *)date;
/**
任意选的月份对应的天数
*/
- (NSInteger)totaldaysInMonth:(NSDate *)date;
/**
上个月
*/
- (NSDate *)lastMonth:(NSDate *)date;
/**
下一个月
*/
- (NSDate*)nextMonth:(NSDate *)date;
/**该月有几周 */
- (NSInteger)weekOfThisMonth:(NSDate *)date;
UI视图部分采用collectionView
github地址:点击打开链接