iOS 5:如何使用UIPickerView创建UIAlertView? (iPhone / iPad)

时间:2012-01-13 17:42:04

标签: iphone ipad ios5 uipickerview uialertview

我需要一种允许用户从列表中选择选项的方法,我正在考虑在UIPickerView中使用UIAlertView。但是我想知道是否:

  1. 可以UIPickerView轻松地将UIAlertView放入iOS 5(如果是这样,那苹果会不赞成将被拒绝?)
  2. 有更好的方法吗? (如果是的话,是什么?)
  3. 非常感谢任何帮助或建议!

4 个答案:

答案 0 :(得分:6)

如果您要在屏幕上选择要放入文本字​​段的值,只需让您的选择器查看文本字段的inputView即可。然后它会像键盘一样为您设置动画。

您可能还希望将工具栏添加为inputAccessoryView,其中包含完成,下一个等按钮。

使选择器视图的输入视图非常简单。在viewDidLoad方法中,创建picket视图,正常设置其数据源和委托,然后将其分配给文本字段的输入视图属性:

myTextField.inputView = myPicker;

在选择器视图委托方法中,您可以在更改选择器选择时使用所选值更新文本字段。在你的文本字段委托方法中,你可以确保在它出现之前选择了正确的值(willBeginEditing?(猜测,而不是在mac ATM上))。

附件视图可以是一个UIToolbar,其中包含一个完成项目,该项目告诉文本字段重新响应第一响应者状态。再次,设置它并在viewDidLoad中分配它。

答案 1 :(得分:2)

当然可以添加UIPickerView作为UIAlertView的子视图,我怀疑Apple会拒绝你的应用程序,但我认为这会导致用户界面不佳。为什么不创建一个新的UIViewController子类来包含UIPickerView并以模态方式呈现它?这是一种更常见的互动模式。

答案 2 :(得分:2)

如果您有2-3个选项,请在otherButtonTitles之后将几个按钮放入UIAlertView:如果您有更多选择,肯定需要构建新的视图控制器。甚至不要尝试将选择器视图添加到UIAlertView中。

答案 3 :(得分:0)

1)我相信你可以在任何iOS SDK版本中轻松完成这项工作。由于UIAlertViews基本上是子类UIViews,因此您只需使用addSubview:

2)这取决于选项列表的上下文。对于生日或日期或时间等选项,Apple会使用单独的UIViewController UITableView(一行)和UIPickerView。如果上述三者中没有一个,Apple通常会使用UITableView,在该人的选择旁边放置一个复选标记。

无论哪种方式,我认为每个人似乎都同意你应该提出一个包含选项列表的第二页。