Iphone Popover中的UIPickerView-未调用didSelectRow

Iphone Popover中的UIPickerView-未调用didSelectRow,iphone,delegates,uipickerview,uipopovercontroller,Iphone,Delegates,Uipickerview,Uipopovercontroller,我的应用程序有一个ViewController,它有一个按钮,单击该按钮时,我需要显示一个弹出视图,以允许用户从地址列表中进行选择 我实现了ViewController,如下所示: @interface WelcomeViewController : UIViewController<UIPickerViewDelegate, UIPickerViewDataSource, UIPopoverControllerDelegate> @接口WelcomeViewController:

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

我实现了
ViewController
,如下所示:

@interface WelcomeViewController : UIViewController<UIPickerViewDelegate, UIPickerViewDataSource, UIPopoverControllerDelegate>
@接口WelcomeViewController:UIViewController
我已经为选择器实现了必要的委托函数。我看到弹出窗口出现,并在其中显示
UIPickerView
,地址已正确填充。当我在其框架外拾取时,弹出窗口也会消失,因此该部分似乎工作正常

然而,picker只是不响应picks(它什么也不做!)——在调试器中,我看到没有调用didSelectRow

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

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

@interface WelcomeViewController : UIViewController<UIPickerViewDelegate, UIPickerViewDataSource, UIPopoverControllerDelegate>
  • 为地址创建UIPickerView,并将其添加为WelcomeViewController的子视图
  • 在WelcomeViewController中实现了以下UIPickerViewElegate函数-numberOfComponentsInPickerView、numberOfRowsInComponent、didSelectRow、titleforRow,并将pickerview的委托和数据源属性设置为self(即WelcomeViewController)

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

    如果您还没有,您还可以将picker delegate属性设置为WelcomeViewController的实例显示以下是我已实现@interface WelcomeViewController:UIViewControlleries的代理,我已检查并设置了这些代理。。。我有WelcomeViewController UIPopoverController*locationPopoverController这两个属性;UIPickerView*位置PickerView;我在WelcomeViewController的viewDidLoad中设置了这些。但它仍然不起作用。我认为我设置UIPopoverController的方式可能有一定的作用,但我不确定正确的方式是什么……但您是否这样做了:locationPickerView.delegate=self;和位置PopOvercontroller.delegate=self;//或者在界面构建器中感谢响应代码zy-我也这么做了-在WelcomeViewCOntroller中设置它们。但是,由于某种原因,当使用popoverVC启动选择器时,代理函数不会被调用。我承认,我对如何使它们一起工作感到困惑,而且我的设置方式显然有问题。。。所以问题是,我如何创建一个包含UIPickerView的UIPopoverController,并从WelcomeViewController一起启动它们?父子视图层次结构应该是什么,以确保调用委托函数。当我尝试这样做时,没有调用picker委托函数,因此我最终在没有popover的情况下实现了它(虽然不理想,但它可以工作-上面有更多详细信息)