0

rootViewController の上に UIImageView があり (ちなみに、ストーリーボードのみを使用しています)、アプリがスリープ状態になるたびに、rootViewController の上にそのビューを表示するようにします。

そのapplication:didFinishWithLaunchOptionsビューはストーリーボードに属しているため、実際に表示されますが、スリープから復帰して rootViewController に移動するたびに表示されません

は呼び出されていないと思いますviewWillAppearが、これはなぜですか?

4

1 に答える 1

3

アプリがアクティブになったときに何かを行うには、viewWillAppear または DidAppear に依存するのは安全ではありません。アプリの rootviewcontroller にオブザーバーを追加するのが最善であり、アクティブな通知になりました。

これをルートView ControllerのviewDidLoadに追加します

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

メソッドを必ず実装してください

-(void)methodToShowViewOnTop{
                // code that puts the view on top
}
于 2012-07-18T15:49:28.317 に答える