0

我的ViewController应用程序有一个按钮,单击该按钮时,我需要显示一个弹出视图以允许用户从地址列表中进行选择。

我已经实现了ViewController如下:

@interface WelcomeViewController : UIViewController<UIPickerViewDelegate, UIPickerViewDataSource, UIPopoverControllerDelegate>

我已经为选择器实现了必要的委托功能。我看到弹出窗口出现并UIPickerView在其中显示正确填充的地址。当我在其框架之外选择时,弹出窗口也会消失 - 因此该部分似乎工作正常。

然而,选择器只是不响应选择(它什么都不做!) - 在调试器中我看到 didSelectRow 没有被调用。

我已经尝试了我能想到的一切!任何帮助和建议将不胜感激!

9/24 更新:我得到了这个工作,但不得不牺牲使用 Popover ViewController 所以它不是一个理想的解决方案。我这样做如下:

  1. 为地址创建了一个 UIPickerView 并将其添加为 WelcomeViewController 的子视图
  2. 在 WelcomeViewController 中实现了以下 UIPickerViewDelegate 函数 - numberOfComponentsInPickerView、numberOfRowsInComponent、didSelectRow、titleforRow 并将pickerview 的委托和数据源属性设置为 self(即 WelcomeViewController)

现在可以了,这个实现的缺点是当我在pickerview的框架之外选择时地址选择器不会消失(我想这是因为它不在popoverviewcontroller内)我通过在pickerview上设置hide属性来解决这个问题用户执行下一个动作。我在 Stackoverflow 中读到了一个更好的解决方法,其中整个背景是一个大按钮的一部分——如果我找不到让选择器进入弹出窗口的方法,我可能会求助于此)

4

1 回答 1

1

如果您还没有将选择器委托属性设置为您的 WelcomeViewController 实例

于 2012-09-24T00:43:11.053 回答