A.需求
1. 学习DatePicker的基本配置
2.使用TextField召唤指定类型的输入键盘View,这里使用DatePicker
3.给输入键盘上方加上一个UIToolBar,实现如关闭键盘等功能
 
B.DatePicker使用
1.DatePicker的主要属性
 
Mode:显示的内容,可以选择日期、时间的自由组合
Locale:显示的语言样式
Interval:每个选项的时间间隔
Date:当前选择的时间
Constraint:指定最小和最大时间
Timer:计时器
 
2.使用代码创建DatePicker
(1)拖入一个TextField
 
 
(2)创建DatePicker,并且指定TextField的输入视图就是创建的DatePicker
     // 1.创建DatePicker
UIDatePicker *datePicker = [[UIDatePicker alloc] init];
// 2.设置模式
[datePicker setDatePickerMode:UIDatePickerModeDate];
// 3.设置locale
[datePicker setLocale:[NSLocale localeWithLocaleIdentifier:@"zh_CN"]];
// 4.设置textField的响应键盘为DatePicker
[self.textField setInputView:datePicker];
 
 
3.UIToolBar
(1)UIToolBar的子级元素只能是Bar Button Item,可以在Item内再放置其他元素
 
 
(2)Item的样式
 
有多种样式可以选择
 
 
(3)用作间隔的Item样式Flexible Space
能够自动填补Bar中的空隙
 
 
 
4.使用代码创建UIToolBar
     // 1.创建UIToolBar
UIToolbar *toolBar = [[UIToolbar alloc] init];
// toolBar.backgroundColor = [UIColor grayColor];
// toolBar.tintColor = [UIColor blueColor];
toolBar.barTintColor = [UIColor grayColor]; // 这个才是UIToolBar的背景色
toolBar.frame = CGRectMake(, , , ); // 必须设置好size,UIToolBar才能显示,否则只能显示Item,且不能点击
// 2.创建Item
UIBarButtonItem *item1 = [[UIBarButtonItem alloc] initWithTitle:@"上一个" style:UIBarButtonItemStylePlain target:self action:@selector(previousClicked)]; UIBarButtonItem *item2 = [[UIBarButtonItem alloc] initWithTitle:@"下一个" style:UIBarButtonItemStylePlain target:self action:@selector(nextClicked)]; UIBarButtonItem *item3 = [[UIBarButtonItem alloc] initWithTitle:@"完成" style:UIBarButtonItemStylePlain target:self action:@selector(finishClicked)]; // 间隙Item
UIBarButtonItem *spaceItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:nil]; // 3.添加Item到UIToolBar
toolBar.items = @[item1, item2, spaceItem, item3]; // 4.添加UIToolBar到键盘上方,设置为textField的辅助视图
self.textField.inputAccessoryView = toolBar;
 
 
 
 

[iOS基础控件 - 6.10.3] DatePicker & UIToolBar的更多相关文章

  1. [iOS基础控件 - 6.10.2] PickerView 自定义row内容 国家选择Demo

    A.需求 1.自定义一个UIView和xib,包含国家名和国旗显示 2.学习row的重用   B.实现步骤 1.准备plist文件和国旗图片     2.创建模型 // // Flag.h // Co ...

  2. [iOS基础控件 - 6.10.7] UIWindow

    A.UIWindow概念 1.继承UIView,是一种特殊的UIView 2.通常一个APP只有一个UIWindow 3.iOS程序启动后,创建的第一个视图就是UIWindow 4.没有UIWindo ...

  3. [iOS基础控件 - 6.10.5] UIApplication

    A.概念 1.UIApplication对象是应用程序的象征,每个应用都有 2.单例 3.[UIApplication sharedApplication] 获取 4.iOS启动创建的第一个对象 5. ...

  4. [iOS基础控件 - 6.10.4] 项目启动原理 项目中的文件

    A.项目中的常见文件 1.单元测试Test   2.Frameworks(xCode6 创建的SingleView Project没有) 依赖框架   3.Products 打包好的文件   4. p ...

  5. [iOS基础控件 - 6.10] Notification 通知机制

    A.定义      iOS程序都有一个NSNotificationCenter的单例对象,用来负责发布不同对象之间的通知      任何对象都能够在NSNotificationCenter发布通知,发 ...

  6. [iOS基础控件 - 6.10.6] UIApplicationDelegate & 程序启动过程

    A.概念 1.移动app非常容易受到其他的系统.软件事件的干扰,如来电.锁屏 2.app受到干扰的时候,UIApplication会通知delegate,来代理处理干扰事件 3.delegate可以处 ...

  7. [iOS基础控件 - 6.10.1] PickerView 餐点搭配Demo

    A.需求 1.使用PickerView做出有3列餐点(水果.主菜.饮料)的搭配Demo 2.选择的餐点实时显示在“显示区” 3.提供“随机”按钮,随机选择菜品搭配   B.实现步骤 1.拖入一个Pic ...

  8. [iOS基础控件 - 5.5] 代理设计模式 (基于”APP列表"练习)

    A.概述      在"[iOS基础控件 - 4.4] APP列表 进一步封装,初见MVC模式”上进一步改进,给“下载”按钮加上效果.功能      1.按钮点击后,显示为“已下载”,并且不 ...

  9. iOS 基础控件(下)

    上篇介绍了UIButton.UILabel.UIImageView和UITextField,这篇就简短一点介绍UIScrollView和UIAlertView. UIScrollView 顾名思义也知 ...

随机推荐

  1. java中的线程创建和使用

    Java中实现多线程有两种途径:继承Thread类或者实现Runnable接口.Runnable是接口,建议用接口的方式生成线程,因为接口可以实现多继承,况且Runnable只有一个run方法,很适合 ...

  2. BZOJ3850: ZCC Loves Codefires

    题目:http://www.lydsy.com/JudgeOnline/problem.php?id=3850 题解:类似于国王游戏,推一下相邻两个元素交换的条件然后排个序就可以了. 代码: #inc ...

  3. Java Web编程的主要组件技术——Hibernate入门

    参考书籍:<J2EE开源编程精要15讲> Hibernate是对象/关系映射(ORM,Object/Relational Mapping)的解决方案,就是将Java对象与对象关系映射到关系 ...

  4. ZOJ 2587 Unique Attack (最小割唯一性)

    题意 判断一个无向图的割是否唯一 思路 错误思路:一开始想的是判断割边是否都是关键割边,那既然割边两端点能连通S.T点的边是关键边,那么只要遇到有某个边两端点不连通S or T则这条边就不是关键割边( ...

  5. Android adb install INSTALL_FAILED_DEXOPT

    说明: 之前一直认为将eclipse的Android项目直接cp到Android源码下编译就行了,实际情况是还要注意其他的文件架构. 错误现象: c:\Users\zengjf>adb inst ...

  6. linux 安装oracle 11g

    安装环境 Linux服务器:SuSe10 sp2 64位 Oracle服务器:Oracle11gR2 64位 系统要求 Linux安装Oracle系统要求 系统要求 说明 内存 必须高于1G的物理内存 ...

  7. C#的switch与二维数组.....

    今天由于工作上的需要, 改了几行C#  的代码, 发现有一些细微的语法区别,与C++, 像switch语句那样, 我一般不会在default后面加上break,语句, 可是发现如果不加上的话,就会报下 ...

  8. awk简单使用『摘.非原创』

    1 awk简介 awk是一种编程语言,用于在linux/unix下对文本和数据进行处理.数据可以来自标准输入.一个或多个文件,或其它命令的输出.它支持用户自定义函数和动态正则表达式等先进功能,是lin ...

  9. (原创)LAMP教程4-用VirtualBox安装64位的centos6.4

    (原创)LAMP教程4-用VirtualBox安装64位的centos6.4 好的,今天就要开始正式的讲一些有营养的东西了,是的,没有错就是讲如何用VirtualBox安装64位的centos6.4 ...

  10. CSS常用十大技巧

    技巧1  去掉网页超链接的下划线 去掉网页超链接的下划线,在<head>与</head>之间相应的位置输入以下代码. <style type="text/css ...