iPhone UPDate弹出窗口?

时间:2011-05-22 21:52:05

标签: iphone datepicker

在Android设备上,如果我想要弹出日期或数字选择器,则弹出窗口中有一个控件。我还没有找到办法在iPhone上这样做?处理这些对象的推荐方法是什么?

编辑:我使用Interface Builder添加了一个UIDatePicker,但它是静态的,不会弹出。我会用什么代码来制作这个弹出窗口?

3 个答案:

答案 0 :(得分:4)

iOS 3.2及更高版本

UIResponder有一个inputView属性,可以与UITextField和UITextView一起使用,用你喜欢的任何视图替换标准键盘,包括UIDatePicker。 (另请参阅:inputAccessoryView,可用于将工具栏放在键盘上方。)

有关详细信息,请参阅iOS文档中的Custom Views for Data Input

iOS 3.0及更早版本

如果你想让键盘像键盘一样弹出,你必须自己动手。它不是太毛茸茸。

使拾取器视图从屏幕底部滑入到位:

pickerView.frame = <offscreen, just below the main view>
[UIView beginAnimations:@"PickerUp" context:nil];
pickerView.frame = <onscreen, at the bottom of the view>;
[UIView commitAnimations];

完成后使选择器视图滑开:

[UIView beginAnimations:@"PickerDown" context:nil];
pickerView.frame = <offscreen, just below the main view>
[UIView commitAnimations];

键盘是自动处理的,因为它由UITextView / UITextField管理;因为你想要一个自定义输入视图,你必须编写代码来自己管理它。

如果你走这条路,你应该看看有关becomeFirstResponder和整个UIResponder链的文档,这样你的自定义控件就可以很好地与系统和其他文本字段一起使用。

如果你想在选择器上方有一个工具栏,只需创建一个包含工具栏,选择器以及你想从下面弹出的任何其他内容的通用UIView。然后为该容器视图设置动画,而不仅仅是选择器。

答案 1 :(得分:1)

如果你想从用户那里得到一个日期,有一个UIDatePicker会弹出一个控件来获取日期输入。

对于数字选择器,您有几个选项,您可以在UIAlertView中收集包含UITextField的数字(this question描述这是如何工作的),或者您可以使用UIPicker选择一个数字(类似于UIDatePicker用户界面)。

答案 2 :(得分:1)

您可以考虑在textFieldtextView s上将其设置为inputView。输入视图将从下方弹出并显示自己以供选择。您可以在类似的行here上查看我提供的示例实现。您还可以在UIResponder的自定义子类上启用这些。