一百零一、在iphone应用程序当中 使用 日期选择器(UIDatePicker)

从用户界面设计的角度来讲,如果展示给用户的物件  与  现实生活中的物件  相似,那么  会  极大地  方便  用户的操作。比如:当用户  在iPhone应用程序中  看到  UIButton类型的按钮物件时,就会  本能地  知道  这个东西  可以按下去  因为  大家  都知道  现实生活中的按钮  该怎么用。

在iOS用户界面套件中  最广泛采用的现实世界中的模式  就是  选择器。UIPickerView类型的选择器  和  UIDatePick类型的日期选择器  对用户  都非常  友好。他们  都允许  用户  查看  大量的选项  并且  在这些选项中  做出  选择。在这篇博文中  我们  要大致  谈论一下  选择器  并且  制作  一个简单的运用日期选择器(UIDatePicker)的应用程序。而  在下一篇博文中  我们  还要更详细地  谈论  普通选择器(UIPickerView)。

选择器  和  日期选择器

如果  你  使用过  iPhone内置的日历应用程序,那么  你  肯定  有  很多机会  使用到  日期选择器,也就是  UIDatePicker类型的物件。日期选择器  允许  用户  用  友好、逼真的方式  选择  日期  和  时间。下面图片中  就是  一个典型的日期选择器:

UIDatePicker

这个选择器  由几个轮子  构成,在默认的情况下  每个轮子  可以  独立地  转动。轮子上的每个项目  代表  一个选项。轮子上的某个项目  位于  高亮的条形区域中  就表明  这个项目  被用户  选择。

日期选择器这类物件  属于  预先设计好的选择器类型物件,专门用来  选择  日期  和  时间。而  选择器类型的物件  允许  开发者  自行  设计  以满足  不同的需求。

关于日期选择器的例子

我们  从创建  一个非常简单的应用程序  开始  介绍  iOS中选择器的概念。这个应用程序  包含  一个日期选择器、一个标签  和  一个按钮。当用户  按下  按钮时,日期选择器中选中的日期  和  时间  就会显示  在标签上。

我们  在Xcode中  利用  单视图应用程序模板  创建  一个新的项目。同时  不要选择  “使用故事板”的选项  并且  将  产品名称  和  物件类型名称前缀  都设定为  datePicker。创建好  项目后,我们  打开  datePickerViewController.h这个文件  并且  修改成  这样:

这样一来  每个datePickerViewController类型的视图控制器物件  都包含  一个UIDatePicker类型的日期选择器物件datePicker  和  一个UILabel类型的标签物件dateLabel。同时  getSelection这项措施  适用于  datePickerViewController类型的物件。我们  对datePickerViewController类型的物件  采取  getSelection这项措施  来获取  日期选择器中被选择的数据。

设计  用户界面

然后  我们  打开  datePickerViewController.xib这个文件。并且  从物件库中  将  一个日期选择器物件、标签物件  和  按钮物件  拖、放  到  画布中的视图上:

UIDatePicker

注意  标签的文本  应该居中  并且  标签的左右边界  都应该伸展  到离屏幕边缘不远处。

接着  应该将  datePickerViewController.xib中的日期选择器  和  标签  与  datePickerViewController.h这个文件中的datePicker  和  dateLabel两个物件  连接起来。然后  还要将  按钮的Touch Up Inside事件  和  适用于datePickerViewController这类物件的措施getSelection  连接起来。这样一来  用户 一点击  这个按钮,就会对  datePickerViewController类型的物件  采取  getSelection这项措施。于是  我们  需要在getSelection这项措施中  编写  代码  来获取  日期选择器中的数据。

编写  代码  实现  日期选择器的功能

目前  我们这个应用程序所需的物件  都设计好了  而且  用户界面  也设计好了,最后  我们  需要编写  代码  使  这个应用程序  工作起来。因为  用户  一点击  界面中的按钮  就会对datePickerViewController类型的物件  采取  getSelection这项措施,所以  getSelection这项措施  是  我们唯一需要编写代码的地方。

于是  我们  打开  datePickerViewController.m这个文件  并且  在@implementation命令后  加入  这行语句:

以便生成  datePicker、setDatePicker:  与  dateLabel、setDateLabel:两对措施。

然后  再  添加   getSelection这项措施:

在getSelection这项措施当中

这行语句  利用字符串”zh_CN”  创建了  一个NSLocale类型的区域格式物件cnLocale  用以代表  中国区域格式。

这行语句  对datePickerViewController类型的视图控制器所包含的日期选择器datePicker  采取了  date这项措施,从而  获取了  日期选择器中当前选择的日期  和  时间   并且  存储  在seletedDate当中。

这行语句  先对刚才从日期选择器中获取的数据selectedDate  采取了  descriptionWithLocale这项措施  并且  以中国区域格式  做为  参数  从而  将  日期选择器中的日期  和  时间  转换成  中国区域格式,然后  以  此  为内容  创建了  一个字符串stringWithSelectedDate。

最后的

这行语句  将  包含有所选日期  和  时间的字符串  存储  在标签物件dateLabel中的文本text里。

在编译  并且  运行  这个程序之前  不要忘记  清理内存:

编译  并且  运行  这个程序

当这个程序  开始运行后,我们  从日期选择器中  随意  选择  一个日期  和  时间,然后  点击  标签下方的按钮  就可以看到  这样的结果:

 

UIDatePicker

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值