【问题标题】:iOS 5: How can I create a UIAlertView with a UIPickerView? (iPhone / iPad)iOS 5:如何使用 UIPickerView 创建 UIAlertView? (iPhone / iPad)
【发布时间】:2012-01-13 17:42:03
【问题描述】:

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

  1. 可以在iOS 5 中轻松地将UIPickerView 放入UIAlertView 中(如果是这样,它会被苹果否决并且应用程序会被拒绝吗?)
  2. 有更好的方法吗? (如果有,是什么?)

任何帮助或建议将不胜感激!

【问题讨论】:

  • 它可能,但我认为它看起来很奇怪......看看人们如何将文本字段添加到 UIAlertViews,看看你是否可以用选择器视图做类似的事情......跨度>
  • 为什么不在单独的页面上添加 UIPickerView 和 UITextField?

标签: iphone ipad ios5 uipickerview uialertview


【解决方案1】:

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

您可能还希望将工具栏添加为inputAccessoryView,上面带有完成、下一步等按钮。

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

myTextField.inputView = myPicker;

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

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

【讨论】:

  • 我真的很喜欢这个想法的声音,请您详细说明如何让选取器查看 inputView?
  • 我又添加了一点。在移动网站上所以没有示例代码,对不起!如果你遇到任何问题,请给我留言。
  • 这真的很有帮助。我已经设法让它完美地工作 - 非常感谢! :)
【解决方案2】:

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

【讨论】:

    【解决方案3】:

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

    【讨论】:

      【解决方案4】:

      1) 我相信,您可以在任何 iOS SDK 版本中轻松做到这一点。由于UIAlertViews基本上是UIViews的子类,你可以简单地使用addSubview:

      2) 这取决于选项列表的上下文。对于生日或日期或时间等选项,Apple 使用单独的 UIViewControllerUITableView(一行)和 UIPickerView。如果以上三个都不是,Apple 通常会使用UITableView,它会在用户的选择旁边打勾。

      无论哪种方式,我认为每个人似乎都同意您应该打开带有选项列表的第二页。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多