UITextField是用来接受用户输入的控件,它的优点是灵活性大,用户可以随便输入,但有时候这也是其缺点。对我们而言,典型的一个问题就是格式检查。然而我们也会遇到想让用户输入日期的时候,这个时候再进行格式检查就有些小题大做了,毕竟iOS已经为我们提供了一个UIDatePicker来进行日期选择,这样一个很自然的想法就是当用户点击UITextField的时候弹出的不是键盘,而是我们的UIDatePicker。
一个简单地方法是将自己的UIDatePicker直接赋给UITextField的inputView属性,这样还可以为其添加附加视图,并且比较方便。
这里我们用另一种方法实现以下,也就是通过UITextField的协议来实现。这种方法的好处是给了我们更大的灵活性,可以对整个inputView从弹出到使用到结束都能做到自定义。还能熟悉对UITextField的协议的理解。
假定我们有多个UITextField,然后只有其中一个是需要选择日期的(多个的时候可以通过tag等方法来识别,大同小异)。
第一步,初始化。
将各个UITextField的协议都赋好,然后为其中需要弹出日期选择器的单独赋tag值(最好全都赋上,可以结合其他需要灵活调整&#x