IOS 日期选择
传统方式
一般情况下弹出日期选择的场景是:用户点击UITextField弹出日期选择,关键代码如下:
| 1 2 3 | UITextField *textField;textField.inputView = [[UIDatePicker alloc] init];textField.inputAccessoryView = [[UIToolbar alloc] init]; | 
但是inputView,inputAccessoryView是在UIView的父类UIResponder中定义的只读属性,UITextField重写了这2个属性并且将readonly修改成readwrite
| 1 2 | @property (nullable, nonatomic, readonly, strong) UIView *inputView;@property (nullable, nonatomic, readonly, strong) UIView *inputAccessoryView; | 
| 1 2 | @property (nullable, readwrite, strong) UIView *inputView;            @property (nullable, readwrite, strong) UIView *inputAccessoryView; | 
这就意味着对于普通的UIView我们是不能通过设置inputView,inputAccessoryView来弹出日期选择的。
UIViewControler模态弹出方式
这里我们使用ViewController模态弹出的方式实现,它可以在任何时候你想选择日期时都可以弹出来,而不局限于通过inputView,inputAccessoryView属性。
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | -(void)showDatePicker{    ISSDatePickerViewController *viewController =[[ISSDatePickerViewController alloc] init];    viewController.minDate =[NSDate dateFromString3:@"1900-1-1"];    viewController.maxDate =[NSDate new];    viewController.delegate =self;    viewController.datePickerMode =UIDatePickerModeDate;    viewController.currentDate =[NSDate new];    if(IS_IOS8_OR_LATER)    {        viewController.modalPresentationStyle =UIModalPresentationOverCurrentContext;    }    else    {        viewController.modalPresentationStyle =UIModalPresentationCurrentContext;    }    [self presentViewController:viewController animated:YES completion:^{        viewController.view.backgroundColor =RGBAColor(0,0,0,0.3);    }];}#pragma mark ISSDatePickerViewControllerDelegate-(void)onDatePicked:(NSDate *)date{} | 
效果图:

IOS 日期选择的更多相关文章
- 用c/c++混合编程方式为ios/android实现一个自绘日期选择控件(一)
		本文为原创,如有转载,请注明出处:http://www.cnblogs.com/jackybu 前言 章节: 1.需求描述以及c/c++实现日期和月历的基本操作 2.ios实现自绘日期选择控件 3.a ... 
- webapp中的日期选择
		你是否在开发webapp时,选择用哪种第三方日期选择控件绞尽脑汁? 其实不用那么麻烦,现在移动端都是WebKit内核,支持HTML5,其实只要弱弱的将input中将type="date&qu ... 
- js控制日期选择框datetime-local和select的展开
		注: js控制元素展开不受元素css属性的限制,例如opacity,z-index等 1. 使用js控制日期选择框的展开 ios: document.querySelector(".targ ... 
- 仿IOS7日期选择控件(新)
		前面也写过好几篇仿IOS日期控件的文章,不过基本上都是基于Wheelview修改而来,大致实现了滑轮选择选项的效果,其实和ios7及以上的效果还是相差甚远,而本文中所展现的这个控件虽也是从网上而来(呵 ... 
- 支付宝小程序日期选择组件datePicker封装
		github 地址 https://github.com/iocool/antminDatePicker 最近在做支付宝小程序(以下简称小程序)开发,发现小程序的日期选择组件很不好用,比如安卓和IOS ... 
- jquery mobiscroll移动端日期选择控件(无乱码)
		jquery mobiscroll移动端日期选择控件(无乱码) <pre><!DOCTYPE html><html lang="en">< ... 
- react-native DatePicker日期选择组件的实现
		本教程的实现效果如下: 为了实现其淡入/淡出的覆盖效果, 还有取消按钮, 在此用了一个三方的组件, 大家可以先安装一下: 三方组件的地址:https://github.com/eyaleizenber ... 
- 利用select实现年月日三级联动的日期选择效果
		× 目录 [1]演示 [2]规划 [3]结构生成[4]算法处理 前面的话 关于select控件,可能年月日三级联动的日期选择效果是最常见的应用了.本文是选择框脚本的实践,下面将对日期选择效果进行详细介 ... 
- 多日期选择jQuery插件 MultiDatesPicker for jQuery UI
		Multiple-Dates-Picker-for-jQuery-UI是一个多日期选择的jquery控件. GIT源码: https://github.com/dubrox/Multiple-Da ... 
随机推荐
- hdu 3336  count the string(KMP+dp)
			题意: 求给定字符串,包含的其前缀的数量. 分析: 就是求所有前缀在字符串出现的次数的和,可以用KMP的性质,以j结尾的串包含的串的数量,就是next[j]结尾串包含前缀的数量再加上自身是前缀,dp[ ... 
- Android应用启动时间及启动日志获取方法
			1. Android应用中,可以使用如下方式进行应用启动时间的查看 2. 启动日志获取方法: 
- Windows下Qt开发环境:OpenGL导入3DMax模型(.3DS)
			参考:http://blog.csdn.net/cq361106306/article/details/41876541 效果: 源代码: 解释: CLoad3DS.h为加载3DMax模型的头文件,C ... 
- [GRYZ]寒假模拟赛
			写在前面 这是首次广饶一中的OIERS自编自导,自出自做(zuo)的模拟赛. 鉴于水平气压比较低,机(wei)智(suo)的WMY/XYD/HYXZC就上网FQ下海找了不少水(fei)题,经过他们优( ... 
- linux 配置 Samba 服务器实现文件共享
			1. 下载samba yum install samba 2. 启动samba 服务 service smb start 3.配置samba 打开/etc/samba/smb.conf 写入一下内容 ... 
- vijos P1213 80人环游世界(有源汇的上下界费用流)
			[题目链接] https://vijos.org/p/1213 [题意] m个人将n个点访问完,每个点能且只能访问v次,点点之间存在有权边,问最小费用. [思路] 有源汇的上下界最小费用最大流. 每个 ... 
- (转载)OC学习篇之---概述
			前言 终于开启了OC的学习篇了,之前由于工作上的事,学习就一直搁浅了,不过最近由于各种原因,感觉必须要开启iOS的开发旅程了,不然就老了.因为之前一直是做Android的,所以学习iOS来就没那么费劲 ... 
- CSS定位(CSS定位概述、相对定位、绝对定位、浮动)
			CSS 定位属性 CSS 定位属性允许你对元素进行定位. 属性 描述 position 把元素放置到一个静态的.相对的.绝对的.或固定的位置中. top 定义了一个定位元素的上外边距边界与其包含块上边 ... 
- Himi的base64代码
			// // DataHimi.cpp // Oh!MonsterMR // // Created by Himi on 12-3-8. // Copyright (c) 2012年 Augustimp ... 
- ocp 1Z0-042 121-178题解析
			121. You want to create a new optimized database for your transactional production environment to be ... 
