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中。
希望这将帮助你解决你的问题
我不想采取任何视图的快照,我只是希望在应用程序中输入从后台到前台显示任何自定义图像,以使其更清晰,无论操作系统在从后台进入前台时显示的快照如何,我都想用自定义图像替换该快照。我希望的行为是“每当从后台转移到前台时,应用程序都会每次显示自定义图像,而不管在后台输入的视图。“预先感谢您的帮助。 – 2013-03-21 09:39:02
然后在AppDelegate类中的applicationWillEnterForeground方法中实现您的代码 – Mrunal 2013-03-21 09:48:09