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

时间:2011-10-11 06:00:04

标签: iphone objective-c ios uidatepicker uikeyboard

我正在尝试做什么:

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

它是如何工作的:

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

什么行不通:

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

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

-

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

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

谢谢:)

1 个答案:

答案 0 :(得分:8)

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

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