使用故事板我已經用「添加」按鈕構建了一個ViewController1。點擊添加顯示一個PopoverView(在ViewController2中)只有一個選擇器。如何將PickerView代理從一個控制器更改爲另一個控制器?
所以我的PickerView的委託在ViewController 2中,但我想在ViewController1中... 有沒有一種簡單的方法來做到這一點?
感謝
使用故事板我已經用「添加」按鈕構建了一個ViewController1。點擊添加顯示一個PopoverView(在ViewController2中)只有一個選擇器。如何將PickerView代理從一個控制器更改爲另一個控制器?
所以我的PickerView的委託在ViewController 2中,但我想在ViewController1中... 有沒有一種簡單的方法來做到這一點?
感謝
在你ViewController1.h文件,您的接口頭改變這一點;
@interface ViewController1 : UIViewController <UIPickerViewDelegate, UIPickerViewDataSource>;
這使得您的ViewController1負責委託。然後在ViewController1.m文件中添加所需的方法。此外,與此UIPickerView的委託設置爲您ViewController1的實例:
[yourPickerview setDelegate:ViewController1];
在你ViewController1 prepareForSegue方法,試試這個:
if ([segue.identifier isEqualToString:@"MySegue"])
{
ViewController2* vc2 = segue.destinationViewController;
vc2.pickerView.delegate = self;
}
這之前基本上分配pickerview到ViewController1的代表賽格完成被調用。
這當然假設你的pickerview被設置爲屬性。
這可以幫助我在ViewController 1中擁有委託嗎? 通過這樣做,我會在ViewController 2中代替ViewController 1進行委託,否? 更新:我希望我的委託在ViewC1而不是ViewC2 – Benjamin
閱讀我的編輯,否則告訴我更多關於什麼是錯的,你做了什麼。把一些代碼:) – Martol1ni
圖要去嘗試,回來在幾分鐘內 – Benjamin