UIDatePicker提供了一个快速选择日期和时间的控件,他是UIControl的子类,专门用于日期时间的选择。其样式可以通过UIDatePicker的属性进行灵活设置,同时也可以获取到当前UIDatePicker的值。UIDatePicker有几个方法和属性需要重点掌握。

@property (nonatomic) UIDatePickerMode datePickerMode; //设置UIDatePicker的展示样式,有四种样式

UIDatePickerModeTime,           // 仅显示时间
    UIDatePickerModeDate,           // 显示年月日
    UIDatePickerModeDateAndTime,    // 显示年月日和时间
    UIDatePickerModeCountDownTimer  //倒计时

@property (nullable, nonatomic, strong) NSLocale   *locale;   //设置地区,地区的设置会影响日期以及时间文字的展示方式

@property (nullable, nonatomic, strong) NSTimeZone *timeZone; //设置时区

@property (nonatomic, strong) NSDate *date; //获取当前日期/时间值

- (void)setDate:(NSDate *)date animated:(BOOL)animated;//设置当前显示的日期时间

下面来看一个完整示例,选择时间后点击确定按钮会弹出提示框,提示框内容为选择的时间

#import "ViewController.h"

@interface ViewController ()
@property(nonatomic,strong)UIDatePicker *datePicker;
@property(nonatomic,strong)UIButton *button;
@end @implementation ViewController - (void)viewDidLoad {
[super viewDidLoad];
[self.view addSubview:self.datePicker];
[self.view addSubview:self.button];
} //懒加载
- (UIDatePicker *)datePicker{
if (_datePicker == nil) {
self.datePicker = [[UIDatePicker alloc]initWithFrame:CGRectMake(, , self.view.frame.size.width, )];
_datePicker.datePickerMode = UIDatePickerModeDateAndTime;
_datePicker.locale = [[NSLocale alloc]initWithLocaleIdentifier:@"zh_CN"];
}
return _datePicker;
} //懒加载按钮,用于展示datePicker选中的时间
- (UIButton *)button{
if (_button == nil) {
self.button = [[UIButton alloc]initWithFrame:CGRectMake((self.view.frame.size.width - ) / 2.0, , , )];
[_button setTitle:@"确定" forState:UIControlStateNormal];
_button.backgroundColor = [UIColor blueColor];
[_button addTarget:self action:@selector(clickButton) forControlEvents:UIControlEventTouchUpInside];
}
return _button;
} //确定按钮被点击
- (void)clickButton{
//获取用户通过UIDatePicker设置的时间
NSDate *date = [self.datePicker date]; //创建一个日期格式器
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
//为日期格式器设置格式字符串
[dateFormatter setDateFormat:@"yyyy年MM月dd日 HH:mm +0800"];
//使用日期格式器格式化日期和时间
NSString *dateString = [dateFormatter stringFromDate:date];
NSString *message = [NSString stringWithFormat:@"您选择的日期和时间是:%@",dateString]; //警告框
UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"日期和时间" message:message preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction *action = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:nil]; [alert addAction:action]; [self presentViewController:alert animated:YES completion:nil];
} @end

运行截图:

UIDatePicker基本使用的更多相关文章

  1. UI--UIPickerView和UIDatePicker的总结

    回到顶部 UIPickerView的主要方法和城市选择器的修正 UIPickerView只有两个数据源方法.要想完整地显示出PickerView,需要结合使用代理方法 数据源方法: // 一共有多少组 ...

  2. iOs基础篇(二十二)—— UIPickerView、UIDatePicker控件的使用

    一.UIPickerView UIPickerView是一个选择器控件,可以生成单列的选择器,也可生成多列的选择器,而且开发者完全可以自定义选择项的外观,因此用法非常灵活. 1.常用属性 (1)num ...

  3. UIDatePicker和UIToolbar的使用

    功能,用UIDatePicker 和UIToolbar 实现点击文本框弹出日期选择空间. 点击确定按钮获取时间显示到对应的Text Field里面,点击取消按钮隐藏键盘. 1.创建textField控 ...

  4. 自定义一个只显示年月的DatePicker(UIDatePicker无法实现年月显示)

    HooDatePicker 介绍(introduction) ==================================================项目需要一个DatePicker,只显 ...

  5. iOS开发--UIDatePicker

    UIDatePicker 是一个控制器类,封装了 UIPickerView,但是他是UIControl的子类,专门用于接受日期.时间和持续时长的输入.日期选取器的各列会按照指定的风格进行自动配置,这样 ...

  6. IOS第11天(4:UIDatePicker时间选择,和键盘处理,加载xib文件,代理模式)

    ***控制层 #import "ViewController.h" #import "CZKeyboardToolbar.h" @interface ViewC ...

  7. UIDatePicker 日期/时间选取器(滚轮)—IOS开发

    UIDatePicker 是一个控制器类,封装了 UIPickerView,但是他是UIControl的子类,专门用于接受日期.时间和持续时长的输入.日期选取器的各列会按照指定的风格进行自动配置,这样 ...

  8. UIDatePicker的用法

    目录[-] 1.Locale 2.Calendar 3.timeZone 4.date 5.minimumDate 6.maximumDate 7.countDownDuration 8.minute ...

  9. UIkit框架之UIDatePicker

    1.继承链:UIcontrol:UIview:UIResponder:NSOobject 2.和uidatepicker相关联的触发事件是 UIControlEventValueChanged,当使用 ...

  10. Objective-c——UI进阶开发第一天(UIPickerView和UIDatePicker)

    一.知识点 1.介绍数据选择控件UIPickerView和日期选择控件UIDatePicker控件 * UIPickerView的案例 * 点餐系统 * 城市选择 * 国旗选择 * UIDatePic ...

随机推荐

  1. 利用easyui的行编辑自动增加一行来进行增删有详细注解

    jQuery EasyUI 框架提供了创建网页所需的一切,帮助您轻松建立站点. easyui 是一个基于 jQuery 的框架,集成了各种用户界面插件. easyui 提供建立现代化的具有交互性的 j ...

  2. freeradius client 和jradius安装编译

    freeradius client radtest只是用来调试的,radclient功能更强大.用法如下: From the man page we can see that radclient gi ...

  3. Python面向对象 | 类属性

    property property是一个装饰器函数,可以将一个方法伪装成属性,调用的时候可以不用加().@property被装饰的方法,是不能传参数的,因为它伪装成属性了. 装饰器的使用:在要装饰的函 ...

  4. ESP8266 LUA脚本语言开发: 测试下诱人的程序

    前言 这一节测试一下诱人的程序 实现的功能,APP通过SmartConfig给Wi-Fi模块配网并绑定设备,然后通过MQTT远程控制开发板的继电器, APP显示ESP8266采集的温湿度数据. 简而言 ...

  5. [BZOJ1015/JSOI2008]星球大战

    // 此博文为迁移而来,写于2015年7月16日,不代表本人现在的观点与看法.原始地址:http://blog.sina.com.cn/s/blog_6022c4720102w6le.html 1.题 ...

  6. 2019 qbxt CSP-S考前冲刺班总结

    似乎--也没有太多好说的. ​ 但这是最后一次培训,因此还是应该写点什么的. ​ 记得状态最好的一次培训,是高一的第一次培训.那次是总共的第二次培训.第一次去的时候什么也不会,跟的非常吃力,每天都在疯 ...

  7. CSS选择器分类整理

    读完<CSS权威指南>,对选择器有如下整理: selector 本质上是执行元素样式匹配规则,我们可以利用它来限定某些元素 选择器类型: <!-- 实体,即HTML中存在 --> ...

  8. 监听浏览器tab选项卡选中事件,点击浏览器tab标签页回调事件,浏览器tab切换监听事件

    js事件注册代码: <script> document.addEventListener('visibilitychange',function(){ //浏览器tab切换监听事件 if( ...

  9. scala集合有哪些

    不可变集合图示:  

  10. Spring JdbcTemplate使用别名传参(NamedParameterJdbcTemplate)

    原文地址http://www.voidcn.com/article/p-cwqegtpg-hx.html 在使用JdbcTemplate时,一般传参都是用的?来绑定参数,但是对于某种情况就不适用了,例 ...