iOS 【一行代码集成一款精致的第三方OC日历——WZYCalendar】
2016-12-25 18:23
330 查看
了解过身边很多朋友在开发中都遇到了这样一个需求,需要集成一个日历到项目中去,用来显示一些和项目中有关的需求。比如说提醒事项、签到、跳转到当天的周期信息等等。但是自定义一款日历非常的耗时,需要处理的数据逻辑繁多。一般在项目经理的催促下我们最好采用集成一款第三方,然后根据需求进行进一步的修改。最近在自己的项目中也遇到了这样的问题,在很多开源的平台下载了许许多多的第三方日历插件,但是觉得都不是太理想(以下比较过其他第三方日历插件后我做了一些优化调整)。所以说自己花时间自定义了一款易用的日历,测试过很多次,达到了一个比较满意的效果,在此推荐给大家。
项目地址以及演示 Demo:https://github.com/CoderZYWang/WZYCalendar
使用语言:Objective-C
优化方向:
① 解决数据加载过多内存消耗过大问题,一次只加载四个月份的数据。
② 解决控件循环引用问题,不会创建过多的控件,减轻界面显示时的压力。
③ 提供回调接口,点击日期可以方便拿到当前的时间。
④ 拒绝 xib、storyboard 搭建,纯代码编写。
⑤ 项目中采用了模块封装,代码清晰,添加了比较多的注释,方便开发者的二次修改以及增加新的功能。
集成方式:
① 打开终端,进入到自己的项目目录下
② pod search(如果查询不到,可以 pod setup 更新一下最新的库文件,如果你曾经更新过,那么这一步骤不会花费太多时间)
③ 打开 Podfile 文件集成
④ 在自己的项目中集成
是不是特别的简单,如果大家对日期的功能不满足,那么可以进行自定义。在项目的源码中有非常清晰的注释供大家参考。
如果大家觉得还不错,记得在 GitHub 给予您宝贵的一个 star。
项目地址以及演示 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。
相关文章推荐
- iOS和JS交互(含OC、html、js)代码不使用第三方库(二)
- iOS UIScrollView自动轮播图片效果(只需一行代码就可集成到自己的项目中)
- [iOS]一行代码集成空白页面占位图(基于runtime+MJRefresh思想)
- iOS平台软件开发工具(一)-新建的工程使用CocoaPods工具集成第三方框架
- jquery.fullCalendar官方文档翻译(一款小巧好用的日程管理日历, 可集成Google Calendar)
- IOS 8款iOS的日历开源代码
- jquery.fullCalendar官方文档翻译(一款小巧好用的日程管理日历, 可集成Google Calendar)
- TKStudio 介绍,非常强大的一款集成开发环境,仅仅当个文本编辑、代码查看也是非常不错的。
- iOS- 无处不在,详解iOS集成第三方登录(SSO授权登录<无需密码>)
- ios--网页js调用oc代码+传递参数+避免中文参数乱码的解决方案(实例)
- iOS 使用UIWebView把oc代码和javascript相关联
- Unity3D研究院之IOS全自动编辑framework、plist、oc代码
- 点击改变颜色的日历(上篇改一行代码)
- ios-UIWebView中js和oc代码的互调
- Unity3D研究之IOS全自动编辑framework、plist、oc代码
- ios--网页js调用oc代码+传递参数+避免中文参数乱码的解决方案(实例)
- 一行代码判断运行应用的机器是IOS4还是IOS3
- jquery.fullCalendar官方文档翻译(一款小巧好用的日程管理日历, 可集成Google Calendar)
- jquery.fullCalendar官方文档翻译(一款小巧好用的日程管理日历, 可集成Google Calendar)
- IOS项目集成ShareSDK实现第三方登录、分享、关注等功能。