您的位置:首页 > 移动开发 > IOS开发

iOS 【一行代码集成一款精致的第三方OC日历——WZYCalendar】

2016-12-25 18:23 330 查看
       了解过身边很多朋友在开发中都遇到了这样一个需求,需要集成一个日历到项目中去,用来显示一些和项目中有关的需求。比如说提醒事项、签到、跳转到当天的周期信息等等。但是自定义一款日历非常的耗时,需要处理的数据逻辑繁多。一般在项目经理的催促下我们最好采用集成一款第三方,然后根据需求进行进一步的修改。最近在自己的项目中也遇到了这样的问题,在很多开源的平台下载了许许多多的第三方日历插件,但是觉得都不是太理想(以下比较过其他第三方日历插件后我做了一些优化调整)。所以说自己花时间自定义了一款易用的日历,测试过很多次,达到了一个比较满意的效果,在此推荐给大家。

项目地址以及演示 Demo:https://github.com/CoderZYWang/WZYCalendar

使用语言:Objective-C

优化方向:

① 解决数据加载过多内存消耗过大问题,一次只加载四个月份的数据。

② 解决控件循环引用问题,不会创建过多的控件,减轻界面显示时的压力。

③ 提供回调接口,点击日期可以方便拿到当前的时间。

④ 拒绝 xib、storyboard 搭建,纯代码编写。

⑤ 项目中采用了模块封装,代码清晰,添加了比较多的注释,方便开发者的二次修改以及增加新的功能。

集成方式:

① 打开终端,进入到自己的项目目录下

$ cd WZYCalendarDemo/


② pod search(如果查询不到,可以 pod setup 更新一下最新的库文件,如果你曾经更新过,那么这一步骤不会花费太多时间)

pod search WZYCalendar




③ 打开 Podfile 文件集成



④ 在自己的项目中集成

//
//  ViewController.m
//  WZYCalendarDemo
//
//  Created by 王中尧 on 2016/12/25.
//  Copyright © 2016年 wzy. All rights reserved.
//

#import "ViewController.h"

#import <WZYCalendar/WZYCalendar.h>

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.

// 设置尺寸
CGFloat width = self.view.bounds.size.width - 20.0;
CGPoint origin = CGPointMake(10.0, 64.0 + 80.0);

// 传入Calendar的origin和width,自动计算控件高度
WZYCalendarView *calendar = [[WZYCalendarView alloc] initWithFrameOrigin:origin width:width];

// 点击某一天的回调
calendar.didSelectDayHandler = ^(NSInteger year, NSInteger month, NSInteger day) {

NSLog(@"%ld年%ld月%ld日", year, month, day);

};

// 添加到控制器的view中
[self.view addSubview:calendar];
}

- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}

@end


是不是特别的简单,如果大家对日期的功能不满足,那么可以进行自定义。在项目的源码中有非常清晰的注释供大家参考。

如果大家觉得还不错,记得在 GitHub 给予您宝贵的一个 star。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐