自定义周日历

最近由于项目需要用到周日历,由于不是太过复杂,就自己封装了一下,当然借也鉴了别人的一些思想,下面详细的介绍下自己的实现的方法


自定义周日历_第1张图片
weekCalender.gif

我是选择UICollectionView实现的,相比UIScrollView代码更有条理一些.
思路是:1.先宏定义下创建UICollectionView的Sections的个数,通过这几个Section来复用显示日期,

- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView
{
    return PAGES_COUNT;
}

- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
{
    return 7;
}

2.当collectionView滑动到时更新显示的数据,设置setContentOffset保证collectionView一直处在中间

用法:
1.初始化FFWeekCalender.

    FFWeekCalender *weekCalender = [[FFWeekCalender alloc] initWithFrame:frame];

2.设置currentDate属性,初始化日历显示的当前日期,不选默认是当天.

    weekCalender.currentDate = [NSDate date];

3.更新日历

- (void)reloadCalender;

4.weekCalender.chooseDates选择多个日期标记.它是个数组,元素是NSDate
demo https://github.com/fengzifeng/FFWeekCalender

你可能感兴趣的:(自定义周日历)