電話の受信、画面のロック、アプリケーションの切り替えなど、アプリケーションが中断された場合、中断時に画面に表示されていたビュー/ビューコントローラーに応じて、異なる応答をする必要があります。
私の最初のView Controllerでは、これをVCAと呼びます。私はこれを持っています
[[NSNotificationCenter defaultCenter]
addObserver:self
selector:@selector(doSomething)
name:UIApplicationWillResignActiveNotification
object:NULL];
-(void)doSomething{
//code here
};
VCBで私は持っています
[[NSNotificationCenter defaultCenter]
addObserver:self
selector:@selector(doSomethingElse)
name:UIApplicationWillResignActiveNotification
object:NULL];
-(void)doSomethingElse{ //code here };
ただし、VCB が画面上にある場合、または後続のビュー コントローラー (vcc、vcd、vce) があり、画面がロックされている場合、VCA で定義されている doSomething メソッドにのみ応答します。VCA の後にあるビュー コントローラーの 1 つに UIApplicationWillResignActiveNotification がなくても、VCA で定義されている doSomethign メソッドに応答します。
バックグラウンドになったときに画面に表示されているビューに応じて、アプリケーションの応答を変える方法はありますか?