【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】

这篇具有很好参考价值的文章主要介绍了【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、今天我们来学习三个东西

1.UIPickerView-UIDatePicker-应用程序对象

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

1.首先,来看数据选择控件

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

数据选择控件,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

大家对这个数据选择控件,是怎么理解的,

1)数据选择控件,首先,是不是得有数据,

2)然后呢,你还得让用户能够选择,

3)最后,你还得是一个控件儿

那前面学过哪些数据选择控件,有印象吗:

1)是不是UITableView

2)UIClatchView

那两个的话,也是数据选择控件,只不过,我们前面只是做一个数据显示

并没有执行一些选择啊,什么操作,

那么今天呢,我们学习这个UIPickerView,也是一个数据选择控件

它的主要目的,是帮助用户,快速的选择数据

比如说,你选择语言的时候,这个是

1)English:英语

2)然后呢,其他的一些语言,对不对,

这个在哪里呢,在这个模拟器,但是,在iOS8以后,它就不用这个PickerView,去做数据选择了,

用的是那个,TableView

点一下,这个模拟器里面的设置

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

用的是那个TableView

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

点一下,设置,隐私,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

不是,返回一下,在这个General-通用,里面,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

在这个通用里面,有一个Region-Language

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

然后呢,选择这个

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

iPhone Language:English

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

这个是不是我们很熟悉的TableView啊

但是呢,在iOS8以前的话,它是用的是这个UIPickerView

主要呢,就是快速选择控件,

选择这个语言,

然后呢,这两个图片,大家可能比较陌生啊

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

左边儿这个,是iOS7以后的效果,

扁平化

右边儿这个,是iOS6的效果,

然后呢,是一个模拟金属的那个效果,

然后呢,大家了解一下,就行了,

现在都到9了,这些都已经过时了

然后呢,底下这个UIDatePicker,它呢,是帮助用户选择日期的,

显示一个日期组件儿,方便用户选择,

然后呢,比如说,你想选择哪一年,哪一月,哪一日

是不是都可以直接去选,

快速的去滚动,

去选择

2.然后呢,再看下一张

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

然后呢,UIPickerView,它呢

使用的话,跟我们那个UITableView,是非常像的,

然后呢,也需要一个

1)UIPickerViewDataSource,数据源协议

2)UIPickerViewDelegate,代理协议

前面的DataSource,和Delegate,是不是很熟悉啊,

TableView里面有,它呢,也有,

然后呢,这里面有一个注意,就是

1)使用这个PickerView,之前,需要指定它这两个协议,

2.还有这个UITextField的inputView,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

UITextField,是不是一个文本框,

前面,我们点击这个文本框,会出现什么,是不是会出来一个键盘,

但是,如果你把这个UIPickerView,指定成UITextField的inputView的话,

它就会占据原来键盘的位置,

先有个大致的印象,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

后面的话,就是它的使用,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

这是随机数,我们后面再说,

3.那接下来,我们就来看一下,今天的Demo

前面,同学们预习了的话,有没有看这个代码,

预习代码,知道在哪儿吧,

然后呢,在第二份儿,其他资料里

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

是不是有个预习代码

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

然后呢,打开,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

我把这个跑一下,首先呢,我们今天要做的第一个小的案例,就是点餐系统

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

首先呢,我们今天要做的第一个案例,就是关于这个点餐系统的,

大家有没有试过,用这个PickerView选择数据,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

然后呢,当你选择一些水果,主菜,饮料的时候,下边都会跟着显示出来,

选择“随便”,点上面的“随机点餐”,随机出来一个,

接下来呢,咱们就来做一下这个,

我们先,新建一个项目,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

新建,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

Name:01-点餐

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

新建

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

前缀:HM

前面,我们做一些案例的时候,首先,你是干嘛,

是不是先:

1)搭建界面

2)搭建界面,你是不是还得分析一下,首先,咱们来看这个界面

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

点餐系统,它里面,有哪些组件儿呢,

1)首先,这个顶部,是不是有一个View,

2)然后,里面,放的什么,一个Button,一个Label,对不对,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

3)然后呢,中间这一部分,是什么,就是我们今天要学的UIPickerView

4)然后呢,底下,6个Label

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

左边3个,是不是显示你,选中的什么类别,

右边3个,是不是显示你,选中的什么东西,

好,这是我们这个结构,

然后呢,我们再看一下,如果去设置约束,顶部的这个点餐系统,怎么设置它的约束,

是不是水平居中、垂直居中,就好了,

大小,它会根据字体的文字,去调整,

然后,随机点餐呢,

是垂直居中,然后呢,距离左边,多少,

然后呢,中间这个PickerView,直接,距离顶部为0,两边儿一个约束,

3.然后呢,我们来搭建这个界面,是不是在控制器里面,直接拖,就行了,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

我把模拟器放出来,把它保留在最前面,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

1)第一步,干嘛,拖控件儿,拖什么,View,吧,

它的背景色呢,我们随便设了一个,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

然后呢,它的约束,这个勾去掉,

勾去掉,大家知道什么意思吧,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

距离上边是20,左右两边儿呢,都是0,

选择:自动更新frame,点击增加,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

额,高度没设,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

高度的话,我们设44,了啊,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

然后呢,中间一个Label,

然后呢,文字改一下,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

“点餐系统”

然后呢,这个约束,是不是垂直、水平、居中

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

选择更新frame,把垂直、水平、居中的勾选上,

点击增加,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

Button,也是一样的,

拖上来,

文字,改成:“随机点餐”,

它的约束呢,垂直居中,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

点击增加,

然后呢,距离左边的约束,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

把下拉菜单打开,选择View

数值,直接设为20,

选上自动更新frame,点击增加,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

清空一下这个按钮的约束,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

垂直居中,是吧

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

距离左边,再来一个,就行了,

距离左边,我设置一个20,然后选择更新frame,点击增加,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

好,随机点餐,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

4.然后,PickerView的话,在我们下边,提供的有,前面这个,是UIDatePicker

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

然后,下面这个呢,是UIPickerView

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

所以呢,我们拖一个进来,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

它的高度的话,一个默认的高度,是216,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

左边,看一下,216,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

然后,我直接设置它的约束了啊,

距离顶部0,

距离左、右两边儿,0,

把这个勾去掉,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

距离顶部、距离左边、距离右边、数值都改成0,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

然后呢,更新一下frame,点击增加,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

然后呢,底部,6个Label,就直接放进去了

然后呢,PickerView的话,这个背景色,也改一下,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

蓝色

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

然后呢,拖一个Label上来,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

按住option键,复制出来2个,

然后呢,把这3个选中,复制出来3个,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

对吧,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

它们的约束,怎们加,先把左上角的Label确定,其他的跟着它走,就行了

先固定一个,再去管其他的,

这个的话,我设置它,距离顶部、距离左边,都为20,

把这个勾去掉,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

选择更新frame,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

点击增加,

它的是不是就好了,

然后呢,这两个,拖一下,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

2)第二个,是不是距离顶部的距离,得设置一下,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

我先设置它,距离顶部,20,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

点击增加,

然后,左边呢,它们3个对齐,是不是就可以了,

3)第三个呢,也是距离顶部,20,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

把这个勾去掉,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

点击增加,

4)它们这3个,什么关系,同时选中,是不是添加一个左对齐,就好了,

是不是Leading,是不是这个,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

选中自动更新frame,点击增加,

左对齐,就好了,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

5)然后呢,这三个呢,先把一个,确定好,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

这一个,它是不是跟我们左边这个,是不是顶部对齐,

然后,水平,一个间距,就够了

大小,你能固定吗,

大小,不能吧,我需要到最后,显示字,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

我们按住Control键,拖过来,水平的,然后Top的,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

这两个勾,勾上,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

额,不是,是不是水平一个间距,垂直中心对齐吧,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

有问题吗,没有,我就直接加了啊

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

6)然后呢,这个呢,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

它们3个,是不是左对齐,

所以说,我直接按住control键,把这三个选中,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

然后呢,把这三个左对齐、加一下,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

点击增加,

7)然后呢,第二个、跟第三个、是不是跟左边儿,也是垂直中心对齐,

按住control键,把第二个,拖过来,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

选择Center Vertically,点击

8)然后,这个的话,也是Center Vertically

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

按住Control键,拖过来,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

选择Center Vertically

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

现在,我们这6个Label,设置好了,

然后呢,我把这个文字,也改一下

1)第一个,是什么:水果

2)第二个,是什么:主菜

3)第三个,是什么:酒水

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

右边这三个,就不要设定了,它是自己去设定内容啊,

把所有的这个约束,再更新一下,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

是不是就可以了,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

然后呢,我们现在,先在iPhone6下,看一下它的效果啊

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

而且呢,我们这个是,支持多屏幕的,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

界面,是不是有了吧,

然后呢,没内容,

然后呢,多屏幕适配,咱们怎么看,先点开这个“辅助编辑器”,再点击这个Automatic,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

再点击这个Preview

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

这里,是不是直接去添加

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

5.然后呢,接下来,怎么办,搭建好界面以后,是不是要加载它的数据

最后,是不是显示数据,

所以呢,它的数据,大家知道在哪儿放吧,

在我们今天的资料里面,有一个01foods.plist,

这个里面,就是它的数据,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

2)然后呢,02cities.plist,是第二个

3)然后呢,03flags.plist,是第三个

所有案例的数据呢,都在这里,

那我直接把这个01foods.plist,拖进去

拖到Supporting Files文件夹下

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

点击Finish

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

接下来,我们先看一下它的数据,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

首先,这个food里面,什么情况,

总的,是不是一个数组

Root,是一个数组,对吧,

然后呢,这个数组里面,装了3个,什么,是不是也是3个数组,

然后,每个数组里面呢,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

又是一个一个的字符串,对不对,

然后呢,接下来,干嘛,是不是加载它的数据,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

这个加载数据,我们是不是写了很多遍了,

所以呢,怎么办,在哪里写,

ViewController.m文件中,

1)先弄一个数组

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

2)然后呢,懒加载,放到下面

if(你这个没有数据的话,是不是就加载一下)

if(_foods == nil){

_foods = NSArray arrayWithContentsOfFile,

File的话,是不是NSBundle mainBundle

然后呢,pathForResource,是吧

然后呢,文件的名称,是不是“01foods.plist“,吧,

type,直接传一个nil

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

然后呢,是不是直接返回啊

return _foods;

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c

因为我们这个里面,foods里面,里面的数组,这些数组里面呢,都是一个一个的字符串

所以说,是不是不需要转模型,

如果是字典的话,你可以考虑转模型,对不对,

然后呢,这个数据,现在就加载好了,

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】,Objective-C,objective-c文章来源地址https://www.toymoban.com/news/detail-699040.html

好,这就是我们说的第一个,搭建界面

到了这里,关于【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包