如何从导航堆栈中消除弹出窗口。我有一个导航控制器作为弹出窗口的根控制器,并且在堆栈中有2个对象。这样,第一个表视图将第二个推入,第二个视图应将弹出框关闭。我可以在弹出窗口的表之间传递引用,尽管这似乎是错误的。通过不同的控制器导航后消除弹出窗口的首选方法是什么?

最佳答案

在您的appdelegate中,添加一个新的NSNotificationCenter观察者:

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

完成设置后,在appdelegate中添加一个新方法,如下所示:
-(void)hidePopover{
    [UIPopoverController dismissPopoverAnimated:YES];
}

这种方法很棒,因为现在您可以以可以从任何地方关闭弹出窗口的方式进行设置。您可以这样操作:
[[NSNotificationCenter defaultCenter] postNotificationName:@"hidePopover" 
object:nil];

希望这能解决您的难题,

赞恩

09-12 07:16