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

xcode版本不一样,textField显示的格式也不一样,建议大家可以在text文本框里面设置一个背景图片.这样在什么样的版本下显示的都一样.
@property (weak, nonatomic) IBOutlet UITextField *textField;
2.创建一个日期选择控件并设置属性
- (void)viewDidLoad {
[super viewDidLoad];
//创建日期选择控件
UIDatePicker *datePicker = [[UIDatePicker alloc] init];
//设置控件的语言和区域,修改为中国简体字体
datePicker.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"zh-Hans"];
//设置控件的显示模式,显示日期和时间.
datePicker.datePickerMode = UIDatePickerModeDateAndTime;
//把这个日期选择控件设置为文本框的弹出键盘
self.textField.inputView = datePicker;
self.datePicker = datePicker; //最后解释这句代码的意思.
}

3.创建UIToobar(工具栏),并设置属性和工具栏上面的按钮以及frame.把工具栏设置成为键盘上面的工具栏
//创建UItoolbar(工具栏)以及设置属性
UIToolbar *toolBar = [[UIToolbar alloc] init]; //设置工具栏的背景色
//toolBar.barTintColor = [UIColor purpleColor]; //这个方法是继承自UIView,不建议使用.
toolBar.barTintColor = [UIColor purpleColor]; //自己的方法 //设置工具栏的frame
toolBar.frame = CGRectMake(, , , ); //把工具栏设置成为日期选择控件上面的工具栏
//inputAccessoryView方法表示键盘上面的工具栏(把控件设置为inputAccessoryView后,这个控件的frame中,只能修改height,其他的属性无法设置,所以在设置frame时,只设置了高度)
self.textField.inputAccessoryView = toolBar; //为工具栏添加按钮
//添加关闭按钮
UIBarButtonItem *itemClose = [[UIBarButtonItem alloc] initWithTitle:@"关闭" style:UIBarButtonItemStylePlain target:self action:@selector(didClickCloseButton)];
//在工具栏的按钮中,只有两个按钮,前面的取消和后面的完成,工具栏中的按钮只能按顺序排放,所以中间需要加一个弹簧按钮
//添加弹簧按钮
UIBarButtonItem *itemSpring = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
//添加完成按钮
UIBarButtonItem *itemDone = [[UIBarButtonItem alloc] initWithTitle:@"完成" style:UIBarButtonItemStyleDone target:nil action:@selector(didClickDoneButton)];
//将三个创建好的控件设置到工具栏上
toolBar.items = @[itemClose, itemSpring, itemDone];
4.实现点击取消(didClickCloseButton)和完成(didClickDoneButton)按钮时的事件
//实现点击了取消按钮的方法
-(void)didClickCloseButton
{
[self.view endEditing:YES];
}
//实现点击完成按钮时的方法
-(void)didClickDoneButton
{
//1.获取用户选择的日期
//因为datePicker日期选择控件是在viewDidLoad方法里面创建的,在这里拿不到.所以创建一个属性.并且在创建好日期选择控件后赋值.(在创建日期选择控件时有说明)
NSDate *selectdDate = self.datePicker.date;
//2.把获取的日期转换为字符串对象,并设置到文本框中
//NSDateFormatter这个类型的对象用作就是:1.把NSDate转换成NSString 2.把NSString转换成NSDate(只能做日期和字符串之间的转换)
//NSCalendar 这个是用来获取时间(NSDate)中的部分数据
//2.1创建一个日期格式化器
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
//2.2设置要格式化的日期格式
formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";
//2.3进行转换
NSString *stringDate = [formatter stringFromDate:selectdDate];
//3.进行赋值
self.textField.text = stringDate;
//4.关闭键盘
[self.view endEditing:YES];

UIDatePicker和UIToolbar的使用的更多相关文章
- 【iOS发展-70】点菜系统案例:使用文本框inputView和inputAccessoryView串联UIPickerView、UIDatePicker和UIToolBar
(1)效果 (2)先在storyboard中设计界面,然后源码(直接在ViewController中码) #import "ViewController.h" @interface ...
- iOS开发——UI篇Swift篇&玩转UItableView(一)基本使用
UItableView基本使用 class ListViewController: UIViewController , UITableViewDataSource, UITableViewDeleg ...
- iOS 进阶 第八天(0407)
0407 UIPickerView.UIDatePicker和UIToolBar请参见视频和代码 pch文件 #ifdef __OBJC__ //在这里面写oc的引用,比如一些oc的头文件或者NSLo ...
- 做个知识回顾目录,打算每日更新一下ios的基础知识
一.基础技能列表: 01 面向对象特性 类与方法封装 通过继承扩展类 抽象类与方法覆盖 多态.动态类型和动态绑定 分类和协议 ...
- 【IOS 开发】基本 UI 控件详解 (UIDatePicker | UIPickerView | UIStepper | UIWebView | UIToolBar )
转载注明出处 : http://blog.csdn.net/shulianghan/article/details/50348982 一. 日期选择器 (UIDatePicker) UIDatePic ...
- UI--UIPickerView和UIDatePicker的总结
回到顶部 UIPickerView的主要方法和城市选择器的修正 UIPickerView只有两个数据源方法.要想完整地显示出PickerView,需要结合使用代理方法 数据源方法: // 一共有多少组 ...
- IOS第11天(4:UIDatePicker时间选择,和键盘处理,加载xib文件,代理模式)
***控制层 #import "ViewController.h" #import "CZKeyboardToolbar.h" @interface ViewC ...
- Objective-c——UI进阶开发第一天(UIPickerView和UIDatePicker)
一.知识点 1.介绍数据选择控件UIPickerView和日期选择控件UIDatePicker控件 * UIPickerView的案例 * 点餐系统 * 城市选择 * 国旗选择 * UIDatePic ...
- [iOS基础控件 - 6.10.3] DatePicker & UIToolBar
A.需求 1. 学习DatePicker的基本配置 2.使用TextField召唤指定类型的输入键盘View,这里使用DatePicker 3.给输入键盘上方加上一个UIToolBar,实现如关闭键盘 ...
随机推荐
- Zabbix3.x安装图解教程
准备知识: Zabbix3.x比较之前的2.0界面有了很大的变化,但是安装部署过程与2.x基本完全一样. 1.Zabbix2.x安装图解教程 http://www.osyunwei.com/archi ...
- pip和easy_install更换使用国内源
因为论文原因,需要使用python安装一些自然语言库,但是使用pip或easy_install安装包时,总是超时(中国特色搞得事:-D),没有办法,上网查资料解决问题~~,在网上找到的方法都是说更换国 ...
- 【Android】实现打开关闭效果
最近抽时间学习一下Android,做个笔记: 布局xml: <LinearLayout android:id="@+id/date_label" android:layout ...
- LMAX Disruptor—多生产者多消费者中,消息复制分发的高性能实现
解决的问题 当我们有多个消息的生产者线程,一个消费者线程时,他们之间如何进行高并发.线程安全的协调? 很简单,用一个队列. 当我们有多个消息的生产者线程,多个消费者线程,并且每一条消息需要被所有的消费 ...
- tcpdump用法
http://man.linuxde.net/tcpdump http://www.cnblogs.com/yc_sunniwell/archive/2010/07/05/1771563.html
- golang os/exec 执行外部命令
exec包执行外部命令,它将os.StartProcess进行包装使得它更容易映射到stdin和stdout,并且利用pipe连接i/o. func LookPath(file string) (st ...
- svn patch
生成patch文件: svn diff > patchFile // 整个工程的变动生成patch 或svn diff file > patchFile // 某个文件单独变动的patch ...
- stm32cube--ADC单次转换
stm32cube的ADC配置 ① ② ③ ④ ⑤ 二:用到的函数 HAL_StatusTypeDef HAL_ADCEx_Calibration_Start(ADC_HandleType ...
- OpenCV 计算区域的内部参数
对于一个区域,怎么进一步针对区域内部特征进行处理呢 ? 首先,我们要提取出来内部的某些特征才能说话,下面提取一些简单的特征,话不多说见代码: 1.平均数及方差参数: Mat tempMean, tem ...
- [分享] 封装工具ES4配置文件解释
[分享] 封装工具ES4配置文件解释 LiQiang 发表于 2015-2-3 14:41:21 https://www.itsk.com/thread-346132-1-4.html [分享] 封装 ...