読者です 読者をやめる 読者になる 読者になる

まいまいワークス

主にiPhoneアプリの開発で考えた事、調べた事、感じた事などを記していきます。

タスクスイッチャーで任意の画像を表示する

iOS7からタスクスイッチャーに入っているアプリは、バックグラウンドに遷移した時点の画面がサムネとして表示されていますが、アプリによってはここにあまり表示しない方がよかったり、別の情報を表示できた方がよかったりすることもありますよね。
そんな時はapplicationDidEnterBackgroundで画像を貼ってみましょう!


f:id:cccookie:20140514144434p:plain

実装方法は以下の通り。
ここでは画像(UIImageView)を貼付けていますが、ラベルでも何でもよさそうです。

- (void)applicationDidEnterBackground:(UIApplication *)application
{
    
    UIViewController *blankViewController = [UIViewController new];
    
    //ここでは画像を貼付けていますが、任意のビューを貼ってください
    UIImage* blankImage = [UIImage imageNamed:@"blank.png"];
    UIImageView* blank = [[UIImageView alloc] initWithImage:blankImage];
    blank.frame = CGRectMake(0, 0, 320, 568);
    [blankViewController.view addSubview:blank];
    
    [self.window.rootViewController presentViewController:blankViewController animated:NO completion:NULL];

}
- (void)applicationWillEnterForeground:(UIApplication *)application
{
    
    [self.window.rootViewController dismissViewControllerAnimated:NO completion:NO];

}

参考サイト:タスクスイッチャ−にアプリのスクリーンショットを表示させない | Cocoaの日々情報局