使用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的更多相关文章

随机推荐

  1. Java/Android 网络请求框架/库

    Android 图片缓存框架  最上面的最优先 com.facebook.fresco:fresco:0.12.0                7.26.2016最新 Universal-Image ...

  2. sizeof(数组名) 与 数组长度

    int a[] = {1, 2, 3, 4}; cout << sizeof(a); //16 char b[] = "abc"; cout << size ...

  3. JAVA学习5:用Maven创建第一个web项目(2)servlet演示

    上一章用Maven新建了web项目成功后,本文演示在此基础上应用servlet. 1.首先修改pom.xml文件,添加servlet依赖   <project xmlns="http: ...

  4. 基于CommonKADS方法论实现知识库系统

    说明:本文是Knowledge-based systems with thecommonKADS method文章的翻译. 一.知识库系统的背景 1. 什么是知识库系统(KBS) 知识库系统是人工智能 ...

  5. sqlplus column命令用法

    column是sqlplus里最实用的一个命令,很多时候sql语句输出的列宽度不合适而影响查看,都需要用到这个命令来更改select语句中指定列的宽度和标题.大部分时候,我们可以简写column为co ...

  6. pycurl安装问题

    pycurl安装问题 之前人写的代码中依赖pycurl,所以准备在ubuntu14.04.4 LTS系统上安装一下.发现了不少问题. Could not run curl-config 最开始遇到问题 ...

  7. 编译impala2.0.0

    使用redhat5.8没编译成功,改用redhat6.4最终编译成功. 参考官方的文档https://github.com/cloudera/Impala/tree/v1.2.2 不知道官方的read ...

  8. Handling of asynchronous events---reference

    http://www.win.tue.nl/~aeb/linux/lk/lk-12.html 12. Handling of asynchronous events One wants to be n ...

  9. Mac OS X安装OpenGL

    Mac OS X安装OpenGL 安装最新的cmake brew install cmake brew upgrade cmake 安装glew brew install glew 安装GLTools ...

  10. C# 连接Oracle,进行查询,插入操作

    注:OracleConnection和OracleCommand已被标注为[弃用的],可以使用System.Data.OleDb.OleDbConnection代替OracleCOnnection,使 ...