通过故事板,我构建了一个带有"添加"按钮的ViewController1。单击添加显示一个弹出视图(在 ViewController2 中(,其中只有一个选择器。
所以我的 PickerView 的委托在 ViewController 2 中,但我希望它在 ViewController1 中......有没有简单的方法可以做到这一点?
谢谢
在 ViewController1 prepareForSegue 方法中,试试这个:
if ([segue.identifier isEqualToString:@"MySegue"])
{
ViewController2* vc2 = segue.destinationViewController;
vc2.pickerView.delegate = self;
}
它基本上是在调用 segue 之前将选取器视图的委托分配给 ViewController1。
当然,这是假设您的选取器视图设置为属性。
在 ViewController1.h 文件中,将接口标头更改为 this;
@interface ViewController1 : UIViewController <UIPickerViewDelegate, UIPickerViewDataSource>;
这使您的 ViewController1 负责代表。然后在 ViewController1.m 文件中添加所需的方法。此外,使用以下命令将 UIPickerView 的委托设置为您的 ViewController1 实例:
[yourPickerview setDelegate:ViewController1];