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,实现如关闭键盘 ...
随机推荐
- Reportng报告替代testng
1,工程导入jar包
- 小识Tableau
关于 Tableau Tableau 帮助人们将数据转化为可以付诸行动的见解.探索无所不能的可视化分析.只需点击几下即可构建仪表板,进行即兴分析. Tableau与R对比: 1.从开发的角度讲,Tab ...
- 特殊符号 && 和 ||
一.值为false的情况 如果逻辑对象值为0,-0, null,undefined,false,"",NaN.那么值为false. 二.&& || 的 理解 1.& ...
- maven 使用tomcat插件 自动化部署war
1.相关环境变量 idea tomcat8 maven3 2.增加tomcat user, 修改 $CATALINA_HOME/conf/tomcat-users.xml <tomcat-use ...
- Android单例线程池
package com.jredu.schooltong.manager; import java.util.concurrent.ExecutorService;import java.util.c ...
- white-space: nowrap 与字符串(文本)换行
在需要对字符串进行元素内换行时,我们通常要对该元素设置相关属性约束以及宽度. 例如:style="word-wrap:break-word; word-break: break-all; w ...
- iOS - AppRealTest App 真机测试
前言 1.准备 开发者账号 自从 Xcode7 出来之后,一般的真机测试不需要开发者账号,也就不需要看这篇教程,只有 app 具有 "推送" 等功能的时候,要真机测试就必须要开发者 ...
- 解决JS加载速度慢
在网页中的js文件引用会很多,js引用通常为 <script src="xxxx.js"></script> 通过如下方法可以增加js加载速度 <sc ...
- 十天精通CSS3学习笔记 part1
http://www.imooc.com/learn/33 第1章 初识CSS3 什么是CSS3? CSS3是CSS2的升级版本,3只是版本号,它在CSS2.1的基础上增加了很多强大的新功能. 目前主 ...
- MVC思想
MVC英文即Model-View-Controller,即把一个应用的输入.处理.输出流程按照Model.View.Controller的方式进行分离,这样一个应用被分成三个层--模型层.视图层.控制 ...