0

vc1 と vc2 の 2 つのビュー コントローラーがあります。VC2 をロードするときに、モーダル セグエが VC1 から呼び出されます。vc2 が表示されているときにアプリをバックグラウンドにするとします。中断されたビューでアプリを再度開いたときに、viewDidAppear が呼び出されないのはなぜですか? vc2 が表示されるたびに検出するには、他にどのような方法がありますか?

4

1 に答える 1

2

UIApplicationDidBecomeActiveNotificationVC2 に登録して、viewDidAppearそこから呼び出すことができます。viewDidLoadVC2でこれを行います。

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

以下で rmaddy が言うように、必ず dealloc または viewDidUnload でオブザーバーを削除してください。

于 2013-01-09T06:15:26.180 に答える