IOS中UIDatePicker
UIDatePicker
1.常见属性
/*
样式
UIDatePickerModeTime,时间
UIDatePickerModeDate,日期
UIDatePickerModeDateAndTime 日期 + 时间
*/
@property(nonatomic) UIDatePickerMode datePickerMode;
/*
区域
中国:[[NSLocale alloc] initWithLocaleIdentifier:@"zh_CN"]
*/
@property(nonatomic,retain) NSLocale *locale;
2.事件监听
1> 因为它继承自UIControl,所以跟按钮一样监听
- (void)addTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents;
2> 事件类型:UIControlEventValueChanged
四、UIPickerView
1.需要靠dataSource和delegate来显示数据
@property(nonatomic,assign) id<UIPickerViewDataSource> dataSource;
@property(nonatomic,assign) id<UIPickerViewDelegate> delegate;
2.常见数据源和代理方法
1> 数据源方法
// 一共有多少列
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView;
// 第component列有多少行
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component;
2> 代理方法
// 第component列第row行显示怎样的文字
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component;
// 第component列第row行显示怎样的view
- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view;
// 选中了第component列第row行就会调用
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component;
3.常见方法
1> 是否显示“选中指示器”
@property(nonatomic) BOOL showsSelectionIndicator;
2> 刷新数据(重新调用数据源和代理的方法来显示数据)
- (void)reloadAllComponents; // 刷新所有的列
- (void)reloadComponent:(NSInteger)component; // 只刷新第component列
3> 通过代码选中第component列第row行
- (void)selectRow:(NSInteger)row inComponent:(NSInteger)component animated:(BOOL)animated;
4> 获得第component列所选中的行号
- (NSInteger)selectedRowInComponent:(NSInteger)component;
五、UITextField
1.常见属性
1> 键盘
@property (readwrite, retain) UIView *inputView;
2> 键盘顶部的工具条
@property (readwrite, retain) UIView *inputAccessoryView;
3> 代理
@property(nonatomic,assign) id<UITextFieldDelegate> delegate;
2.常见方法
1> 叫出键盘
- (BOOL)becomeFirstResponder;
2> 退出键盘
- (BOOL)resignFirstResponder;
3.常见代理方法
1> 如果返回NO,代表文本框不能编辑、不能弹出键盘
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField;
2> 如果返回NO,代表禁止改变文本框的文字(不能增加、删除文字)
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string;
3> 点击了键盘右下角的按钮就会调用(return key)
- (BOOL)textFieldShouldReturn:(UITextField *)textField;
六、UIButton的状态
UIControlStateNormal // 默认、普通
UIControlStateHighlighted // 高亮(当用户长按的时候达到这种状态)
UIControlStateDisabled // 不可用(这种状态下的按钮不能处理任何点击事件,enabled = NO的时候就能达到这种状态)
// 当切换状态的时候,按钮就会显示对应状态的背景图片、小图片、文字、文字颜色
七、控件的封装
1.为什么封装?
1> 重用某个常用的功能
2> 屏蔽某个功能的实现细节
2.封装的步骤
1> 自定义一个View(新建一个继承UIView的类)
2> 如果控件内部的内容是固定的,可以用一个xib文件来描述所封装控件内部的细节
3> 所封装控件内部的事件,应该通过代理传递出去
* 当所封装控件内部发生了一些事情,应该通知代理,代理得知内部的事件后,就可以在代理方法中实现想做的事情
IOS中UIDatePicker的更多相关文章
- ios 中的小技巧 - 总有你想要的 一
UITableView的Group样式下顶部空白处理 在viewWillAppear里面添加如下代码: //分组列表头部空白处理 CGRect frame = myTableView.tableHea ...
- 06 (OC)* iOS中UI类之间的继承关系
iOS中UI类之间的继承关系 此图可以更好的让你去理解iOS中一些底层的关系.你能够了解以及理解UI类之间的继承关系,你会更加明白苹果有关于底层的东西,更有助于你的项目开发由它们的底层关系,就能更加容 ...
- iOS中支付宝集成
iOS中支付宝集成 如今各种的App中都使用了三方支付的功能,现在将我在使用支付宝支付集成过程的心得分享一下,希望对大家都能有所帮助 要集成一个支付宝支付过程的环境,大致需要: 1>公司:先与支 ...
- iOS中数据库应用基础
iOS 数据库入门 一.数据库简介 1.什么是数据库? 数据库(Database) 是按照数据结构来组织,存储和管理数据的仓库 数据库可以分为2大种类 关系型数据库(主流) PC端 Oracle My ...
- 正则表达式在iOS中的运用
1.什么是正则表达式 正则表达式,又称正规表示法,是对字符串操作的一种逻辑公式.正则表达式可以检测给定的字符串是否符合我们定义的逻辑,也可以从字符串中获取我们想要的特定部分.它可以迅速地用极简单的方式 ...
- iOS 中的 HotFix 方案总结详解
相信HotFix大家应该都很熟悉了,今天主要对于最近调研的一些方案做一些总结.iOS中的HotFix方案大致可以分为四种: WaxPatch(Alibaba) Dynamic Framework(Ap ...
- iOS中使用正则
一.什么是正则表达式 正则表达式,又称正规表示法,是对字符串操作的一种逻辑公式.正则表达式可以检测给定的字符串是否符合我们定义的逻辑,也可以从字符串中获取我们想要的特定部分.它可以迅速地用极简单的方式 ...
- IOS中div contenteditable=true无法输入
在IOS中<div contenteditable="true"></div>中点击时可以弹出键盘但是无法输入.加一个样式-webkit-user-sele ...
- 谈谈iOS中的屏幕方向
众所周知,iOS中提供了[UIDevice currentDevice].orientation与[UIApplication sharedApplication].statusBarOrientat ...
随机推荐
- (hdu step 6.3.7)Cat vs. Dog(当施工方规则:建边当观众和其他观众最喜爱的东西冲突,求最大独立集)
称号: Cat vs. Dog Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tot ...
- Cocos2d-X中实现批处理精灵
使用普通方法实现批处理精灵 在Sprite.h中加入以下的代码 #ifndef __Sprite_SCENE_H__ #define __Sprite_SCENE_H__ #include " ...
- Eclipse build launcher 3具体步骤
1. 下载launcher 3源代码 (需要FQ) git clone https://android.googlesource.com/platform/packages/apps/Launche ...
- 移动端 延迟加载echo.js的使用
浏览器支持ie8+ <img src="img/blank.gif" alt="" data-echo="img/album-1.jpg&q ...
- Java 新特性(3) - JDK7 新特性
http://www.ibm.com/developerworks/cn/java/j-lo-jdk7-1/ JSR292:支持动态类型语言(InvokeDynamic) 近 年来越来越多的基于 JV ...
- Java里泛型有什么作用
1 泛型赋予了类型參数式多态的能力 2 泛型的第一个优点是编译时的严格类型检查,提高了程序的安全性和健壮性,这是集合框架最重要的特点. 3 泛型消除了绝大多数的类型转换.假设没有泛型,当你使用集合框架 ...
- Hadoop0.20.2 Bloom filter应用演示样例
1. 简单介绍 參见<Hadoop in Action>P102 以及 <Hadoop实战(第2版)>(陆嘉恒)P69 2. 案例 网上大部分的说明不过依照<Hadoop ...
- BI—脚不一样的感觉
在这个网络智能的时代,假设生活和智能挂不上边那就太落后啦!尤其IT行业更是如此,前不久还在用微软的office做报表,这几天就吵吵着换成BI,那么BI是什么?有什么用?怎么用?等等带着这一系列的问题来 ...
- Play Framework + ReactiveMongo
Play Framework + ReactiveMongo Play!是一个full-stack(全栈的)Java/Scala Web应用框架,包括一个简单的无状态MVC模型,具有Hibernate ...
- 通达OA web页面与精灵显示内容更新后不一致的问题
前一段就发现有这种问题.就是在开发的电话查询里更新的信息,可是在精灵对话窗体上显示的还是原来的信息.这样导致从新开发入口更新信息就不能使用.一開始还以为是厂家升级,变更了存储的表结构.感觉下载近期的升 ...