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

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     // 1.创建DatePicker
2     UIDatePicker *datePicker = [[UIDatePicker alloc] init];
3     // 2.设置模式
4     [datePicker setDatePickerMode:UIDatePickerModeDate];
5     // 3.设置locale
6     [datePicker setLocale:[NSLocale localeWithLocaleIdentifier:@"zh_CN"]];
7     // 4.设置textField的响应键盘为DatePicker
8     [self.textField setInputView:datePicker];

3.UIToolBar

(1)UIToolBar的子级元素只能是Bar Button Item,可以在Item内再放置其他元素

(2)Item的样式

有多种样式可以选择

(3)用作间隔的Item样式Flexible Space

能够自动填补Bar中的空隙

4.使用代码创建UIToolBar

 1     // 1.创建UIToolBar
 2     UIToolbar *toolBar = [[UIToolbar alloc] init];
 3 //    toolBar.backgroundColor = [UIColor grayColor];
 4 //    toolBar.tintColor = [UIColor blueColor];
 5     toolBar.barTintColor = [UIColor grayColor]; // 这个才是UIToolBar的背景色
 6     toolBar.frame = CGRectMake(0, 0, 320, 44); // 必须设置好size,UIToolBar才能显示,否则只能显示Item,且不能点击
 7     // 2.创建Item
 8     UIBarButtonItem *item1 = [[UIBarButtonItem alloc] initWithTitle:@"上一个" style:UIBarButtonItemStylePlain target:self action:@selector(previousClicked)];
 9
10     UIBarButtonItem *item2 = [[UIBarButtonItem alloc] initWithTitle:@"下一个" style:UIBarButtonItemStylePlain target:self action:@selector(nextClicked)];
11
12     UIBarButtonItem *item3 = [[UIBarButtonItem alloc] initWithTitle:@"完成" style:UIBarButtonItemStylePlain target:self action:@selector(finishClicked)];
13
14     // 间隙Item
15     UIBarButtonItem *spaceItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:nil];
16
17     // 3.添加Item到UIToolBar
18     toolBar.items = @[item1, item2, spaceItem, item3];
19
20     // 4.添加UIToolBar到键盘上方,设置为textField的辅助视图
21     self.textField.inputAccessoryView = toolBar;

时间: 2024-11-06 12:22:06

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

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

A.需求 1.自定义一个UIView和xib,包含国家名和国旗显示 2.学习row的重用 B.实现步骤 1.准备plist文件和国旗图片 2.创建模型 1 // 2 // Flag.h 3 // CountriesSelection 4 // 5 // Created by hellovoidworld on 14/12/16. 6 // Copyright (c) 2014年 hellovoidworld. All rights reserved. 7 // 8 9 #import <Foun

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

A.定义 iOS程序都有一个NSNotificationCenter的单例对象,用来负责发布不同对象之间的通知 任何对象都能够在NSNotificationCenter发布通知,发布自己的发生的事件:监听者(Observer)可以选择接受某个特定通知.   B.使用 1. 属性      - (NSString*)name; // 通知的名称      - (id)object; // 通知发布者(是谁要发布通知) - (NSDictionary*)userInfo; // 一些额外的信息(通知

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

A.项目中的常见文件 1.单元测试Test 2.Frameworks(xCode6 创建的SingleView Project没有) 依赖框架 3.Products 打包好的文件 4. projectname-Info.plist 全局配置文件 所以最好其他的plist文件不要带有Info字眼 (1)更改项目名 a.修改Bundle display name b.clean c.模拟器删除app,重新生成 (2)Bundle Identifier App唯一标识符 (3)stroyboard入口

[iOS基础控件 - 6.10.6] UIApplicationDelegate

A.概念 1.移动app非常容易受到其他的系统.软件事件的干扰,如来电.锁屏 2.app受到干扰的时候,UIApplication会通知delegate,来代理处理干扰事件 3.delegate可以处理的事件 (1)app声明周期(启动.关闭) (2)系统事件(来电) (3)紧急事件(内存警告) B.使用 称为delegate的条件:遵守UIApplicationDelegate协议 项目开始会自动创建:AppDelegate 1.delegate方法 1 - (BOOL)application

[iOS基础控件 - 6.10.7] UIWindow &amp; 程序启动过程

A.UIWindow概念 1.继承UIView,是一种特殊的UIView 2.通常一个APP只有一个UIWindow 3.iOS程序启动后,创建的第一个视图就是UIWindow 4.没有UIWindow,不能显示任何东西 B.使用 1.创建一个Empty Application项目 没有了storyboard,要手动实现UIWindow的创建代码(其实这就是storyboard做的事情) 1 // 手动创建UIWindow,并加到screen上 2 self.window = [[UIWindo

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

A.需求 1.使用PickerView做出有3列餐点(水果.主菜.饮料)的搭配Demo 2.选择的餐点实时显示在“显示区” 3.提供“随机”按钮,随机选择菜品搭配 B.实现步骤 1.拖入一个PickerView 2.用控制器配置dataSource和delegate 1 // 遵守UIPickerViewDataSource,UIPickerViewDelegate 2 @interface ViewController () <UIPickerViewDataSource, UIPickerV

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

A.概述 在"[iOS基础控件 - 4.4] APP列表 进一步封装,初见MVC模式”上进一步改进,给“下载”按钮加上效果.功能 1.按钮点击后,显示为“已下载”,并且不可以再按 2.在屏幕中间弹出一个消息框,通知消息“xx已经被安装”,慢慢消失 3.消息框样式为圆角半透明 B.不使用代理模式,使用app空间组和主View之间的父子View关系 1.在主View中创建一个消息框 主View控制器:ViewController.m 1 // 创建下载成功消息框 2 CGFloat labelWid

iOS基础控件UINavigationController中的传值

iOS基础控件UINavigationController中的传值,代理传值,正向传值,反向传值 #import <UIKit/UIKit.h> //声明一个协议 @protocol SendValue<NSObject> //定义一个方法 - (void)sendBtnTitle:(NSString *)title; @end @interface FirstViewController : UIViewController // 定义代理 @property (nonatomi

ios基础控件之开关按钮(UISwitch)

UISwitch控件是iOS开发的基础控件,是非常简单的一个控件,因为它的方法比较少.UISwitch继承于UIControl基类,因此可以当成活动控件使用. 注意:开关状态通过它的on属性进行读取,该属性是一个BOOL属性 创建: UISwitch* mySwitch = [[ UISwitch alloc]initWithFrame:CGRectMake(0.150.0f,100.0f,0.0f,0.0f)]; 可能你会疑问为什么它的大小都设置为0?没错,它的大小你设置是无效的,系统会为你分