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的更多相关文章

  1. ios 中的小技巧 - 总有你想要的 一

    UITableView的Group样式下顶部空白处理 在viewWillAppear里面添加如下代码: //分组列表头部空白处理 CGRect frame = myTableView.tableHea ...

  2. 06 (OC)* iOS中UI类之间的继承关系

    iOS中UI类之间的继承关系 此图可以更好的让你去理解iOS中一些底层的关系.你能够了解以及理解UI类之间的继承关系,你会更加明白苹果有关于底层的东西,更有助于你的项目开发由它们的底层关系,就能更加容 ...

  3. iOS中支付宝集成

    iOS中支付宝集成 如今各种的App中都使用了三方支付的功能,现在将我在使用支付宝支付集成过程的心得分享一下,希望对大家都能有所帮助 要集成一个支付宝支付过程的环境,大致需要: 1>公司:先与支 ...

  4. iOS中数据库应用基础

    iOS 数据库入门 一.数据库简介 1.什么是数据库? 数据库(Database) 是按照数据结构来组织,存储和管理数据的仓库 数据库可以分为2大种类 关系型数据库(主流) PC端 Oracle My ...

  5. 正则表达式在iOS中的运用

    1.什么是正则表达式 正则表达式,又称正规表示法,是对字符串操作的一种逻辑公式.正则表达式可以检测给定的字符串是否符合我们定义的逻辑,也可以从字符串中获取我们想要的特定部分.它可以迅速地用极简单的方式 ...

  6. iOS 中的 HotFix 方案总结详解

    相信HotFix大家应该都很熟悉了,今天主要对于最近调研的一些方案做一些总结.iOS中的HotFix方案大致可以分为四种: WaxPatch(Alibaba) Dynamic Framework(Ap ...

  7. iOS中使用正则

    一.什么是正则表达式 正则表达式,又称正规表示法,是对字符串操作的一种逻辑公式.正则表达式可以检测给定的字符串是否符合我们定义的逻辑,也可以从字符串中获取我们想要的特定部分.它可以迅速地用极简单的方式 ...

  8. IOS中div contenteditable=true无法输入

    在IOS中<div contenteditable="true"></div>中点击时可以弹出键盘但是无法输入.加一个样式-webkit-user-sele ...

  9. 谈谈iOS中的屏幕方向

    众所周知,iOS中提供了[UIDevice currentDevice].orientation与[UIApplication sharedApplication].statusBarOrientat ...

随机推荐

  1. 算法导论学习---红黑树具体解释之插入(C语言实现)

    前面我们学习二叉搜索树的时候发如今一些情况下其高度不是非常均匀,甚至有时候会退化成一条长链,所以我们引用一些"平衡"的二叉搜索树.红黑树就是一种"平衡"的二叉搜 ...

  2. Windows Server 2012启用Windows功能NetFx3时出错解决方法

    作者:冰点阳光 | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址:http://baohua.me/operating-system/windows-server-2012- ...

  3. 《web全栈工程师的自我修养》阅读笔记

    在买之前以为这本书是教你怎么去做一个web全栈工程师,以及介绍需要掌握的哪些技术的书,然而看的过程中才发现,是一本方法论的书.读起来的感觉有点像红衣教主的<我的互联网方法论>,以一些自己的 ...

  4. 移动端 微信 网易 触屏滑动回弹菜单(css版)

    总结一下: 有点:网易新闻,微信 热文 都是 -webkit-overflow-scrolling: touch;实现,css实现,轻巧: bug: 部分安卓浏览器(uc,自带)  只支持持续滑动,不 ...

  5. android变化HOLO对话风格

    andriod风修改对话框格,通过设置theme实现.一些要素需要通过Java代码更改,下面的对话框更改的步骤的例子称号. 1.写文本样式. DIALOG标题是textview,在sytles.xml ...

  6. php小写金额转大写

    public static function amountInWords($num) {         if (!is_numeric($num) || empty($num))           ...

  7. struts2跳转类型解析

    struts 2 跳转类型 1.dispatcher  dispatcher 为默认跳转类型.用于返回一个视图资源 xml代码 : <result name="success" ...

  8. android 简单的登录

    一直都知道WEB通过登录后session拿着回答,如今,安卓不知道怎么弄的. 研究了一下,它记录.直接在代码: server结束: index.jsp <%@page import=" ...

  9. openWRT自学---自己编译的第一个 backfire10.03 版本的过程记录(转)

    基于 backfire10.03(从http://downloads.openwrt.org/backfire/10.03/ 中下砸的源码包backfire_10.03_source.tar.bz2: ...

  10. Linux命令行下载文件百度云盘

    本来想直接使用wget去下载.但百度似乎增加限制,下半停产,不就不再下.刚刚好找其他方法.另辟蹊径: http://oott123.github.io/bpcs_uploader/ 版权声明:本文博客 ...