iOS,iPhone快照在后台/前台转换中

问题描述:

当iOS应用程序将状态从前台更改为后台时,操作系统将获取当前视图(屏幕)的快照,并且当它再次出现在前台时,将显示该快照。 有什么办法(动画或任何东西)截取该快照并显示任何自定义图像,当应用程序从背景前景?iOS,iPhone快照在后台/前台转换中

注: 我不想采取任何视图的快照,我只是希望在应用程序中输入从后台到前台显示任何自定义图像,以使其更清晰,无论快照中的OS显示器,而即将前景从后台开始,我想用自定义图像替换该快照,我想要的行为是“每当从后台转换到前台时,应用程序都会每次显示我的自定义图像,而不管它从哪个视图进入背景。”预先感谢您的帮助。

您可以注册UIApplicationDidEnterBackgroundNotification通知,然后显示您想要呈现的图像。

有两种委托方式提供的AppDelegate本身:

- applicationDidEnterBackground 
- applicationWillEnterForeground 

有关此方法的详细信息,UIApplicationDelegate class reference

因此,使用这两种方法,你可以找到的事件,在那里你需要采取参考一个快照和另一个显示该图像的地方。

现在,如何把你的观点的一个快照,所以这里是一个代码片段:

// define the frame as per your requirement 
    CGRect contextRect = CGRectMake(0, 0, myView.frame.size.width, 
            myView.frame.size.height); 
    // whatever you need 

    UIGraphicsBeginImageContext(contextRect.size); 

    [myView.layer renderInContext:UIGraphicsGetCurrentContext()]; 

    UIImage* viewImage = UIGraphicsGetImageFromCurrentImageContext(); 

    UIGraphicsEndImageContext(); 

viewImage是包含屏幕的截屏图像的对象。因此,在applicationWillEnterForeground方法中将此图像显示在UIImageView中。

希望这将帮助你解决你的问题

+0

我不想采取任何视图的快照,我只是希望在应用程序中输入从后台到前台显示任何自定义图像,以使其更清晰,无论操作系统在从后台进入前台时显示的快照如何,我都想用自定义图像替换该快照。我希望的行为是“每当从后台转移到前台时,应用程序都会每次显示自定义图像,而不管在后台输入的视图。“预先感谢您的帮助。 – 2013-03-21 09:39:02

+0

然后在AppDelegate类中的applicationWillEnterForeground方法中实现您的代码 – Mrunal 2013-03-21 09:48:09