iOS アプリケーションの最上位ビュー/ウィンドウへの参照を取得する
topMostView = [[[[UIApplication sharedApplication] keyWindow] subviews] lastObject];
gets -reference-to-the-top-most-view-window-in-ios-applicationリンクを参照してください。
アプリケーションがバックグラウンドから戻るときに実行するアクションを現在のビューに編集します
Add BOOL applicationFromBackground; make its property in appDelegate.
Intially it will be applicationFromBackground = FALSE; in application didFinishLaunchingWithOptions method;
アプリケーションがフォアグラウンドに入ります:
- (void)applicationDidEnterBackground:(UIApplication *)application
{
applicationFromBackground = TRUE;
}
これで、すべてのビュー コントローラーのビューに、最上位のビュー コントローラーに対して呼び出されるメソッドが表示されるので、次のようにします。
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
// Create AppDelegate instance
AppDelegate *objAppDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
if(objAppDelegate.applicationFromBackground)
{
applicationFromBackground = FALSE;
//do what u want.
}
}