2012-06-12 16 views
0

我有第二個視圖控制器設置爲顯示在UIPopoverController中。我在第二個視圖控制器中設置了一個委託,因此當用戶點擊按鈕「完成」時,它將數據傳回第一個視圖控制器。數據是用戶選擇的列表,而不是單個選擇。撤銷popover時從UIPopoverController中的UIViewController返回數據

我很難找出一種方法來將數據傳回第一個視圖控制器,如果用戶敲擊彈出窗口外部並被解散。現在,如果用戶點擊彈出窗口並被解散,我會丟失數據。

我想我可以限制他們通過點擊外面的方式來解除流行,但我寧願不要。

有什麼想法?

回答

3

當你目前的UIPopoverController,設置其delegateself

,然後添加到類此功能

- (void)popoverControllerDidDismissPopover:(UIPopoverController *)popoverController 
{ 
    YourViewController *controller = popoverController.contentViewController; 
    MyData *data = controller.yourData; 
    //Do something with data 
} 

當酥料餅被駁回

+0

我覺得這個函數會被調用您可能需要實現「popoverControllerShouldDismissPopover」,如果您擔心用戶通過點擊彈出窗口而不是彈出窗口而關閉Popover。 –

+0

是的,我有,但我不相信我會從那裏訪問第二個視圖控制器的數據... – Padin215

+0

哈!太好了,謝謝!只記下我會做的是你需要輸入視圖控制器,否則你會得到一個警告。 – Padin215