使用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. APP开发的三种技术对比

    目前来说主流的App开发方式有三种:Native App .Web App.Hybird App.下面我们来分析一下这三种App开发方式的优劣对比: 一 :Native App 即 原生App开发 优 ...

  2. Mac 下安装mysqldb 问题:一条命令解决mysql_config not found

    遇到过几次pip安装mysql-python的时候出现如题的问题,在这里记录一下解决方法. 找不到mysql_config一般是由于通过lnmp.org或者其他方式安装mysql以后mysql_con ...

  3. Python学习-基础知识-2

    目录 Python基础知识2 一.二进制 二.文字编码-基础 为什么要有文字编码? 有哪些编码格式? 如何解决不同国家不兼容的编码格式? unicode编码格式的缺点 如何既能全球通用还可以规避uni ...

  4. 解决display none到display block 渲染时间过长的问题,以及bootstrap模态框导致其他框中input不能获得焦点问题的解决

    在做定制页面的时候,遇到这么一个问题,因为弹出框用的是bootstrap的自带的弹出框,控制显示和隐藏也是用自带的属性控制 控制显示,在触发的地方 例如botton上面加上 data-toggle=& ...

  5. MySQL存储过程中判断形参是否为空null

    直接看例子: DELIMITER $$CREATE DEFINER=`root`@`127.0.0.1` PROCEDURE `restore`(username varchar(50))BEGINi ...

  6. Java web验证码

    绘制验证码的主要步骤: 1,设置宽度高度,验证码个数,干扰线个数,可选字符,背景颜色,字体格式 2,画干扰线,随机生成颜色,字体,字符 3,设置缓冲区,得到画笔,设置边框,读写数据,存储图片. 1,S ...

  7. Java Collection.Map

    /** * Map集合的特点: * 将键映射到值的对象,一个映射不能包含重复的键,每个键最多只能映射到一个值. * * Map集合的功能和概述: * 1.添加功能 * V put(K key , V ...

  8. SQL 工具系列一

    1.误删除数据恢复篇 ApexSQL Recover   可以恢复Delete Truncate  drop,恢复 二进制大型对象 测试版本  每10行才会恢复 评估版本下载地址:只能用14天 所以基 ...

  9. 8、导航:Nav

    1.导航视图   angular2 中的是视图是显示在<router-outlet></router-outlet>里的同时他要依赖于 directives:[ ROUTER_ ...

  10. [转]字符编码笔记:ASCII,Unicode 和 UTF-8

      本文非原创,转载 ,原文地址 :http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html 作者: 阮一峰 日期: 20 ...