【PickerView案例11-自定义键盘操作01 Objective-C语言】
移动开发
2023-09-29 17:34:38
阅读次数: 0
一、UIDatePicker - 日期选择控件
1.上节课呢,我们把这个国旗选择,已经实现过了,对吧,
然后呢,是我们这个日期选择控件,UIDatePicker
自定义View,大家是不是已经很熟悉了,
所以呢,我们就不再多说了,
那接下来呢,我们就来看,第二个控件,
UIDatePicker,
上午呢,我们只是简单介绍了一下,下午呢,我们用它来做一些事情了,
那,首先呢,也是一样的,先让大家看一下它的案例啊,
点这个“13-第1天(应用程序启动原理).xcodeproj“
打开这个项目:
然后呢,选择第4个Target:UIDatePicker
command + R:
这儿是不是一个文本框,然后呢,点击这个文本框以后:
看到没有,通常我们在点击文本框以后,它应该是什么情况,
显示的是一个键盘,对不对,
但是呢,这里显示的是什么,是不是一些日期啊,你可以选择,
1)点击取消:任何反应都没有
2)单击确认:
把对应的时间,给它放上去,
底下这个界面,就是我们UIDatePicker,实现的,
那中间这个呢,待会儿给大家解释一下,
好,那首先呢,我们先来看一下,
2.UIDatePicker控件:
UIDatePicker:主要目的,方便用户进行日期、时间的选择,
刚刚看到的,是不是一个日期,
下去写的时候呢,也可以考虑用一下时间,也都是可以的,
通常以TextField的inputView,来呈现的,
TextField的inputView,是什么样子呢,
比如说,这是一个手机界面:
上面呢,有一个文本框:
默认情况下,我们点击这个文本框以后,它就会给你弹出来一个键盘,
那键盘呢,大概就是这么多:
键盘的高度大家知道一下,大概就是216,
就是216的高度,
默认情况下,你点击文本框,弹出来呢,是一个键盘,然后你可以,输入文字啊,数字啊,都可以,
但是呢,如果你把这个文本框,的inputView,我们这里的inputView,把它改进去呢,
就不是啦,
这个单词呢,inputView:
input:什么意思啊,输入,
View:呢,就是一个输入界面啊,
输入视图、输入界面:
那,视图,是不是就是我们的控件儿啊,
UIView类型的控件儿,
然后呢,输入视图,输入的一个控件儿,
如果你把它这个inputView,给它设置一下,
那以后,你给它放的是什么界面,
那它显示的就是什么界面,
你把UIDatePicker,交给它,
那,你一点文本框,弹出来的,就是DatePicker了,
而不是系统的键盘了,
还有,inputView,还有一个东西,
inputAccessory
我把这个东西呢,往外移一下,
inputAccessoryView:这个是什么玩意儿呢,
这个的话,是在键盘上,键盘上面绑着的一个条儿:
键盘上面绑着的一个条儿:
Accessory:这个大家见过吧,Accessory,什么东西啊,
是不是辅助视图啊,
那inputAccessoryView:输入辅助视图,
就是在这个,画一下啊,大概就是在我们键盘上,大概就是这么高的一个位置:
你如果设置了视图,你估计一下它的高度,
然后呢,就可以显示出来,当然,你把高度调高一下,它可能它的现实,也可能会变高:
然后呢,就是这么一个视图,
当你点击文本框,那它们俩都会弹出来,
如果你同时设置了inputView,以及inputAccessoryView,
那它们俩呢,就是一块儿弹出来了,
如果你只设置了inputView,那只是键盘被换掉了,
也就是说,刚刚看到的那个“取消、确认”,它呢,就是在这上面放的,
咱们回来,继续:
这个UITextField,就给大家介绍到这儿,
那这里面是使用,就不说了,
待会儿写代码的时候再说,
一会儿再说,
4.NSDateFormatter:我们是不是以前用过,
所以呢,我们这里,也不再多看了啊,
1)你如果日期转为字符串:有一个[formatter stringFromDate:]
Date:是不是就是日期啊,
string:呢,是不是就是字符串儿啊,
stringFromDate:从日期转为字符串儿,
2)那返回去也是一样的:[formatter dateFromString:]
把字符串儿,转成一个日期,
对吧,
好,就这么两点,那接下来呢,我们,目的,就是要实现这个文本框的自定义键盘:
但是呢,这上面这个东西,需要给大家补充一下,“取消、确认”这一条儿,
上面这个呢,
1)首先:“取消、确认”,我们是不是常用的一个按钮啊,
但是,这个按钮,在哪儿放呢,文本框的inputAccessoryView里面,
但是,它也不是直接放上去的,
它需要用到另一个控件,
我们一块儿来看一下,
二、新创建一个项目啊
1.选择这个:New-Project,
选择这个Single View Application:
Name:08-自定义键盘datePicker:
好,我们先来到Main.storyboard:
先体验体验啊:
那两个条儿,先给大家看一下啊:
“取消、确认”这两个放在哪儿呢,
我把这个Window:stay in Front:
我把这个window放到最前面啊,
好,首先,”取消、确认“,这两个东西,它不是我们常用的一个Button,
我们需要用到一个新的控件,叫做:UIButtonItem,
这个东西,没什么难的,它就是一个按钮,不过,类型不一样:
看到没有:UIButtonItem,
你就把它当按钮用,没有任何问题,
OK,就是一个按钮,
点它,会有一些操作,但是呢,它有一个特点,就是,它不是哪一个View,都能包的,它需要放到一个UIToolbar or UINavigationItem,
1)这个UINavigationItem:大家不用去纠结啊,这个明天我们会学的,
这是一个导航栏,
2)这个UIToolbar:就是我们在这里:
用的这个背后的这个东西,
灰灰的、浅灰色的这么一个效果,
2.然后,我们先来一个UIToolbar,给大家看一下啊,
那UIToolbar:哪个是UIToolbar呢,
就是我们这个带Edit,的东西,
看到没有:UIToolbar,
它呢,也不难,就是一个条儿,
然后呢,里面呢,就是放一些功能按钮,
但是呢,这个按钮,也不是说你啥按钮都能往上放,
必须要一个:UIButtonItem,
因为放的东西呢,都是一个:instance of UIButtonItem,
它写的这个toolbar items:呢,实际上就是里面的这些UIButtonItem,
3.咱们一个一个来看啊,先看这个UIToolbar:
把UIToolbar:呢,拖上去,
放这儿:
把它直接放到这里面,
看到没有:
这就是一个UIToolbar,
旁边这个呢,我就放到后面去了啊,
这是UIToolbar:简称就是Toolbar,看到没有,
没什么难的啊,它就是一个View,
只不过,系统帮我们包装了一下,
简称:叫UIToolbar,
然后里面放的这些东西呢:
不是平常的按钮,然后呢,是一个ButtonItem,
看一下它的类型:
看到没有:UIBarButtonItem:
没问题吧,其实就是一个按钮,你也可以正常的点击,点一下,执行一些操作,
然后呢,你还可以,再给它拖一个ButtonItem:
两个ButtonItem:
然后呢,左边这个东西,我给它改一下标题,跟我们按钮一样:
它里面,你要么指定文字,要么指定图片,不能同时指定两个东西的,
我把它改成“取消”
这边呢,我给它改成“完成”
我再拖一个BarButtonItem,
这个BarButtonItem呢,放到它们俩中间:
然后呢,这个东西,我们在这个文本框:
点击以后,取消、和确认、是不是在两端的,
那大家说,这个怎么放呢,
是需要把它放到这边儿,放到那边儿吗,
这个“完成”,我是拖不过来的:
拖不过来的,它自己又会回去:
但是,你可以选中中间这个BarButtonItem,然后呢,有一些系统的类型,大家应该也见过的,
比如说,我们看一下其他的:
这底下这些,都是系统的类型,
然后,有个“Add"
转载自blog.csdn.net/madoca/article/details/133016029