如何让appDidBecomeActive显示rootViewController的视图?

时间:2012-07-18 15:22:35

标签: ios view viewwillappear

我在我的rootViewController之上有一个UIImageView(我只是顺便使用了故事板),我希望我的应用程序,无论何时来自睡眠,都要在rootViewController上显示该视图。

application:didFinishWithLaunchOptions视图实际出现之后,因为它在故事板上属于它,但是当它从睡眠中唤醒并转到rootViewController时,它永远不会显示

我想viewWillAppear没有被调用,为什么会这样?

1 个答案:

答案 0 :(得分: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
}