2011-02-09 56 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];