2012-07-18 67 views
0

我在我的rootViewController上有一個UIImageView(我只是用這種方式使用故事板),並且我希望我的應用程序(無論何時來自睡眠)在RootViewController上顯示該視圖。如何讓appDidBecomeActive顯示rootViewController的視圖?

application:didFinishWithLaunchOptions是查看後實際上出現,因爲它屬於它的故事板,但每當它從睡眠中醒來,去到RootViewController的,它永遠不會顯示

我猜viewWillAppear不叫,這是爲什麼?

+0

具有u試圖通知RootViewController的,當應用程序被激活與UINotification的方法? – MrBr 2012-07-18 15:43:10

回答

3

因爲在應用程序變爲活動狀態時執行某些操作,所以依靠viewWillAppear或DidAppear來執行操作並不安全。它最好添加一個觀察者到應用程序的rootviewcontroller中,確實成爲活動通知。

在viewDidLoad中添加這是你的根視圖控制器

[[NSNotificationCenter defaultCenter] addObserver:self 
             selector:@selector(methodToShowViewOnTop) 
              name:UIApplicationDidBecomeActiveNotification object:nil]; 

,並確保落實

-(void)methodToShowViewOnTop{ 
       // code that puts the view on top 
}