我知道当应用程序移动到后台状态时,不建议更改任何视图外观,但对于我的特定任务,我无法推迟此活动,我真的想在用户点击主页后几秒内完成它按钮。
这就是我的所作所为: 我在UIWebView中加载网页,加载完成后,我更改了contentOffset和zoomScale,以便制作该网页的特定屏幕截图。当应用处于活动应用状态时,一切正常。
现在我想添加一些更多的多任务功能。我在受保护的后台任务(iOS任务完成)中封装了上述网页加载和呈现活动,以便即使用户点击主页按钮也能完成。 < / p>
我注意到页面加载和网页截图的渲染(使用renderInContext:方法)在后台运行得很好,但似乎是webview (即封装的UIScrollView实例)只要应用处于后台,就不会对setContentOffset:和setZoomScale:消息做出反应。。
所以我问你是否知道改变内容偏移/缩放比例的替代方法? (直接在CALayer上进行修改?)或者“强制”滚动视图执行内容更改的任何方法,即使在后台也是如此。
PS:在iOS模拟器上,即使在应用程序后台状态下一切正常,但在实际设备上却没有。
编辑:我创建了一个演示该问题的简单演示项目。您可以在此处下载(请阅读zip文件中的说明):http://dl.dropbox.com/u/3556271/BackgroundBugDemo.zip
我感谢每一个提示或提示。谢谢!