我需要一种允许用户从列表中选择选项的方法,我正在考虑在UIPickerView
中使用UIAlertView
。但是我想知道是否:
UIPickerView
轻松地将UIAlertView
放入iOS 5
(如果是这样,那苹果会不赞成将被拒绝?)非常感谢任何帮助或建议!
答案 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
,在该人的选择旁边放置一个复选标记。
无论哪种方式,我认为每个人似乎都同意你应该提出一个包含选项列表的第二页。