2011-01-24 36 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