iOS Calender Demo

作者: 沉默学飞翔 | 来源:发表于2016-04-12 19:08 被阅读326次

    前言


    我们项目最近需要写一个日历的功能,我在这之前也是没有写过这个。然后自己就去查API,去看别人的讲解。貌似通了一些,又貌似没通。哈哈,把我写的我们的最初定的实现效果拿出来,大家如果有需要可以看一下。自己写一下,不要做拿来党,不然到时候如果运行有错误,你改都不知道去哪修改。

    Demo地址

    思想


    其实日历比较好写的,因为苹果已经把你所需要的API都给你提供了,你只需要调用就行了。我个人感觉只是在把当月天数排布的时候麻烦一点点,我个人采用一个数组加载所有的数据的形式去展示。当然八仙过海,各显神通,这个看个人的理解。 我的排布代码:- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{

    CalenderCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:CALENDER forIndexPath:indexPath];

    if (indexPath.section == 0) {

    cell.dateLabel.text = timerArray[indexPath.row];

    cell.dateLabel.font = [UIFont systemFontOfSize:14];

    cell.dateLabel.textColor = [UIColor colorWithRed:1.0

    green:0.0

    blue:0.0

    alpha:0.495803420608108];

    }else{

    cell.dateLabel.textColor = [UIColor colorWithRed:0.0

    green:0.0

    blue:0.0

    alpha:0.495803420608108];

    //获得本月第一天在星期几

    allDayArray = [NSMutableArray array];

    NSInteger day = [self currentFirstDay:_date];

    for (NSInteger i = 0; i < day; i++){

    [allDayArray addObject:@""];

    }

    NSInteger days = [self currentMonthOfDay:_date];

    for (NSInteger i = 1; i <= days; i++) {

    [allDayArray addObject:@(i)];

    }

    //把剩下的空间置为空

    for (NSInteger i = allDayArray.count; i < 42; i ++) {

    [allDayArray addObject:@""];

    }

    cell.dateLabel.text = [NSString stringWithFormat:@"%@",allDayArray[indexPath.row]];

    }

    return cell;

    }

    运行结果:

    结束


    至此结束,哈哈      忘了说了,如果各位看客看着有用,请给个小星星,谢了。

    相关文章

      网友评论

      • 拂晓的云:lz的博客写的挺好的,可以修改一下页面的样式,
        用markdown语法来添加代码,现在这样的排版看着太难受拉。
        ```objc
        UIImage *image = [UIImage imageWithData:data];
        ```
        沉默学飞翔:@拂晓的云 哈哈,好的,其实我的csdn一直用的markdown,这个没用过,下次听从你的建议,谢谢
        拂晓的云:就按照我上面的这种写法就好拉,代码放在中间。

      本文标题:iOS Calender Demo

      本文链接:https://www.haomeiwen.com/subject/kurwlttx.html