功能,用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的使用的更多相关文章

  1. 【iOS发展-70】点菜系统案例:使用文本框inputView和inputAccessoryView串联UIPickerView、UIDatePicker和UIToolBar

    (1)效果 (2)先在storyboard中设计界面,然后源码(直接在ViewController中码) #import "ViewController.h" @interface ...

  2. iOS开发——UI篇Swift篇&玩转UItableView(一)基本使用

    UItableView基本使用 class ListViewController: UIViewController , UITableViewDataSource, UITableViewDeleg ...

  3. iOS 进阶 第八天(0407)

    0407 UIPickerView.UIDatePicker和UIToolBar请参见视频和代码 pch文件 #ifdef __OBJC__ //在这里面写oc的引用,比如一些oc的头文件或者NSLo ...

  4. 做个知识回顾目录,打算每日更新一下ios的基础知识

    一.基础技能列表:   01 面向对象特性       类与方法封装       通过继承扩展类       抽象类与方法覆盖       多态.动态类型和动态绑定       分类和协议       ...

  5. 【IOS 开发】基本 UI 控件详解 (UIDatePicker | UIPickerView | UIStepper | UIWebView | UIToolBar )

    转载注明出处 : http://blog.csdn.net/shulianghan/article/details/50348982 一. 日期选择器 (UIDatePicker) UIDatePic ...

  6. UI--UIPickerView和UIDatePicker的总结

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

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

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

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

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

  9. [iOS基础控件 - 6.10.3] DatePicker & UIToolBar

    A.需求 1. 学习DatePicker的基本配置 2.使用TextField召唤指定类型的输入键盘View,这里使用DatePicker 3.给输入键盘上方加上一个UIToolBar,实现如关闭键盘 ...

随机推荐

  1. python 学习笔记十二 CSS基础(进阶篇)

    1.CSS 简介 CSS 指层叠样式表 (Cascading Style Sheets) 样式定义如何显示 HTML 元素 样式通常存储在样式表中 把样式添加到 HTML 4.0 中,是为了解决内容与 ...

  2. js遍历table中的每一个元素

    function GetInfoFromTable(tableid) { var tableInfo = ""; var tableObj = document.getElemen ...

  3. DOCTYPE声明作用及用法详解

    一.浏览器呈现模式和doctype 有的网页是遵循标准而创作的,但也有很多不是.即使你不能创建遵循标准的网页,也希望浏览器根据标准来正确显示那些页.目前,大量网页充斥着大量非标准代码,它们仍能正常地工 ...

  4. 多MAVEN项目部署到tomcat中_之使用DBUG进行单步调试

    1.改成你想localhost:8080默认进入的目录 这个步骤会造成 code\.settings\org.eclipse.wst.common.component 文件的更改<propert ...

  5. 原来cursor:可以这样改变鼠标样式

    前言:今天看百度的一个layui前端框架的时候,看到一个禁用图标的样式,鼠标移上去会变成一个自定义的图片样式,就在想难道cursor也可以自定义图片路径?!之前一直没有使用过. 使用了一下之后,遇到很 ...

  6. 1005. Spell It Right (20)

    Given a non-negative integer N, your task is to compute the sum of all the digits of N, and output e ...

  7. VR外包 虚拟现实外包 北京软件公司

    我们制作各类型VR全景虚拟现实,增强现实视频制作.录制等项目.品质保证,售后完备,可签合同.contectus: 13911652504(技术经理tommy) 承揽VR外包 虚拟现实外包 U3D外包( ...

  8. Oracle安装时OracleMTSRecoveryService找不到

    电脑重做系统之后再安装oracle过程中出现一个问题,说OracleMTSRecoveryService找不到指定的目录文件,卸载重装还是没有改变,挣了半天终于找到怎么更改了,打开注册表编辑器,SYS ...

  9. 还有 3 天,苹果就要关上 HTTP 大门了

    版权声明:本文由贺嘉 原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/274113001482113656 来源:腾云阁 h ...

  10. Android之Activity状态的保存和恢复

    系统在某些情况下会调用onSaveInstanceState()和onRestoreInstanceState() 这两个方法来保存和恢复Activity的状态. 一句话:Activity在" ...