使用DIDatepicker
使用DIDatepicker

https://github.com/noxt/DIDatepicker
效果:

#import "DIViewController.h"
#import "DIDatepicker.h" @interface DIViewController () @property (weak, nonatomic) IBOutlet DIDatepicker *datepicker;
@property (weak, nonatomic) IBOutlet UILabel *selectedDateLabel; @end @implementation DIViewController - (void)viewDidLoad
{
[super viewDidLoad]; // 给DIDatepicker添加了相应事件
[self.datepicker addTarget:self
action:@selector(updateSelectedDate)
forControlEvents:UIControlEventValueChanged]; // 当前月
[self.datepicker fillCurrentMonth];
[self.datepicker selectDateAtIndex:];
} - (void)updateSelectedDate
{
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = [NSDateFormatter dateFormatFromTemplate:@"EEEEddMMMM"
options:
locale:nil]; self.selectedDateLabel.text = \
[formatter stringFromDate:self.datepicker.selectedDate];
} @end
源码其实很恶心......

DIDatepicker继承至UIControl,而UIControl继承至UIView


红色线条是在DIDatepicker.m中的drawRect:方法中动态绘制的,有着修改的余地:)


至于修改字体颜色之类的,是在DIDatepickerDateView.m中(我简单的将星期六星期天修改成了红色)

他的这种设计其实还是很合理的:)
使用DIDatepicker的更多相关文章
随机推荐
- 如何应用前端技术唤起app及判断用户来源及与原生交互的原理
做唤起时需要native端进行配合, h5唤起app这种需求是常见的.在移动为王的时代,h5在app导流上发挥着重要的作用. 目前我们采用的唤起方式是url scheme(iOS,Android平台都 ...
- Docker搭建tomcat运行环境(修改镜像方式)
对于java程序员来说,要想使用Docker来部署你的应用,那么在镜像中安装类似于tomcat的容器基本上是必须的(sprintboot项目除外),本篇介绍自己基于对centos镜像的修改,创建自己的 ...
- An internal error occurred during: "Initializing Java Tooling". Eclipse启动发生的错误
An internal error occurred during: “Initializing Java Tooling” 错误经常是莫名其妙的出现这种总错误,解决办法: 1.eclipse -&g ...
- Android文字识别之tesseract的使用
关于tesseract识别工具有Google提供的版本有tesseract-android-tools,不过还有一个tesseract-two也是非常好用的,这里我们使用的是tesseract-two ...
- 通过管道传输快速将MySQL的数据导入Redis
通过管道传输pipe将MySQL数据批量导入Redis 自Redis 2.6以上版本起,Redis支持快速大批量导入数据,即官网的Redis Mass Insertion,即Pipe传输, ...
- Struts2 入门介绍(一)
一.什么是Struts2 1.Struts2是一个开发框架,应用于JavaEE三层架构中的web层. 2.Struts2框架是在Struts1和webwork基础上发展的一个全新的框架. 3.Stru ...
- 在局域网中查找特定设备的 IP
如何查找特定设备的 IP 有几种方法在局域网中找到某个设备(设为设备 A)的 IP 地址: 在设备 A 上运行一段程序,该程序每隔一段时间向局域网中发送广播包(UDP 广播包),(设备 B)上运行另一 ...
- PHP学习5——异常处理
主要内容: PHP错误类型 异常的产生 错误日志 日志信息记录到操作系统日志 异常处理 扩展异常处理类 PHP错误类型 语法错误 执行时错误 逻辑错误 异常的产生 如果安装了xampp之后,在php. ...
- jQuery实现单击和鼠标感应事件。
1.实现单击事件动态交替http://www.cnblogs.com/ahthw/p/4232837.html讲到了toggleClass(),对于单击事件而言,jQuery同样提供了动态交替的tog ...
- Ruby 踩坑 “Failed to build gem native extension”
ruby新手,总是会出现这样那样的问题,这里先记录下,希望能解决你得问题. 首先是安装ruby 环境,楼主愚钝,在公司和自己的电脑上来来回回整了好几天,每次安装 gem 包的时候总是报错,错误信息大致 ...