2011-01-24 22 views
1

如何解除导航堆栈中的弹出窗口。我有一个导航控制器作为popover的根控制器和2个taes vies在堆栈中。所以第一个表格视图推动第二个,第二个视图应该消除弹出。虽然这看起来不对,但我可以将表的引用从popover传递给表。在通过不同的控制器导航后,解除弹出窗口的首选方式是什么?解除UIpopover

回答

6

在你的appdelegate,添加一个新的NSNotificationCenter观察员:

[[NSNotificationCenter defaultCenter] addObserver:self 
selector:@selector(hidePopover)
name:@"hidePopover"
object:nil];

一旦你的设置中,的appdelegate中添加一个新方法,像这样:

-(void)hidePopover{ 
    [UIPopoverController dismissPopoverAnimated:YES]; 
}

这种方法是伟大的,因为现在你已经设置了一些东西,你可以从任何地方关闭popover。你这样做,像这样:

[[NSNotificationCenter defaultCenter] postNotificationName:@"hidePopover" 
object:nil];

希望这能解决您的难题,

赞恩

+0

但dismissPopover方法不是一个类的方法。所以我需要在应用程序委托中引用popover?为什么不能像模态视图控制器一样工作? – 2011-01-24 11:02:18