iPhone:我可以让UIDatePicker出现在UIKeyboard的顶部吗?

Jor*_*ith 4 iphone objective-c uidatepicker uikeyboard ios

我正在做的事情:

我有一个标准的UITableView,有几个UITextFields和一些显示时间/日期的单元格.基本上,它是用户可以输入文本和日期的表单.

它是如何工作的:

  • 首先,没有显示键盘或日期选择器.
  • 如果首先选择文本字段,则弹出键盘.反之亦然,日期选择器(弹出类似的动画).
  • 如果最初选择了文本字段,然后用户选择了时间单元格,则UIKayboard应该变成日期选择器(无动画).同样应该在相反的时候发生.

什么不起作用:

一切都很好 - 除了我上面列出的最后一步.基本上,我无法弄清楚如何在键盘顶部呈现任何东西.

我的方法只是同时为键盘/日期设置动画,但相应地设置日期选择器的"隐藏"属性.

-

有关如何在键盘前添加内容的任何想法?添加键盘后,我可以在所有内容上创建另一个窗口吗?或者,使用accessoryView属性但以某种方式转置框架?

否则,有没有其他方法可以实现我的最初目标?

谢谢 :)

Dav*_*ong 8

比监听键盘通知更容易实现这UITextField是一个子类UIResponder,这意味着它有一个inputView属性.您可以简单地创建一个UIDatePicker,将其设置为textfield的inputView,然后就完成了.(以及从选择器中实际提取日期所需的任何操作).

这种方法的唯一缺点是虽然它在iPhone上的纵向方向非常有效,但你需要做一些工作,让事情在风景和iPad上看起来正确.但是,无论如何,这都是你必须要做的事情.