2011-02-09 57 views
9

如何「執行選擇器」到uipopovercontroller的parentviewcontroller? 我有從uiviewcontroller Lanuched uipopovercontroller,並且此uipopovercontroller包括其他uiviewcontroller。 我似乎無法從彈出窗口或「內部」視圖控制器到達父視圖控制器。UIPopovercontroller父?

我希望我是清楚的...

BTW - parentViewcontroller不工作...

謝謝!

回答

8

有沒有辦法直接與UIPopoverController做到這一點。你將有一個大概的參考傳遞給你的父視圖控制器,你與酥料餅的控制器管理的視圖控制器:

// Assumes these calls are made from within a view controller and that 
// MyViewController has a property called previousViewController 

MyViewController * myViewController = [[[MyViewController alloc] init] autorelease]; 
myViewController.previousViewController = self; 
UIPopoverController * popoverController = [[[UIPopoverController alloc] 
    initWithContentViewController:myViewController] autorelease]; 

UIBarButtonItem * rightBarButtonItem = self.navigationItem.rightBarButtonItem; 
[popoverController presentPopoverFromBarButtonItem:rightBarButtonItem 
          permittedArrowDirections:UIPopoverArrowDirectionDown 
              animated:YES]; 

類似的東西,但重要的一點是,您的視圖控制器(由popover控制器管理)必須在呈現popover之前獲取對父視圖控制器的引用。

+0

這正是我的想法。如果這是唯一的方法,我會做。 謝謝! – 2011-02-10 18:54:42

0

您可以使用私有方法從視圖控制器獲取父級彈出窗口控制器。

UIPopoverController *popopverController = [self performSelector:@selector(_popoverController)]; 
[popopverController dismissPopoverAnimated:YES];