有人知道如何获取从UIWebView呈现的UIImage的方式或创意吗?问题是,必须在后台线程上.
我会详细说明:我试图每秒从多个UIWebView获取图像+ - 并将其显示在屏幕上(当然是iPhone).因为将图层渲染到CGContext是一个CPU消耗作业,我不想使用主线程,所以不要挂起UI.
我到目前为止的尝试是:
我试图renderInContext在webView的图层上使用UIGraphicalContext,但_WebTryThreadLock错误导致网页浏览崩溃.
我尝试创建一个CGBitmapContext,并将webview的图层渲染到它,但得到了相同的结果.
我尝试实现一个copy方法(通过添加一个类别)CALayer,深度复制所有的公共属性和子图层.之后,我尝试renderInContext了我复制的图层.我得到了一个部分 "正确" 的UIImage - 意思是,并非所有的图层都被渲染,所以例如,我只会得到网站标题(或页脚,或正文,或搜索栏,或只是一些框架).UIWebview的图层由所有类型的子类CALayers组成,因此这可能就是为什么这个接近不起作用的原因.
我尝试kCATransactionDisableActions在a中设置CATransaction,但它似乎没有改变这种行为(它们都没有).
我非常接近放弃.
你们中间有救世主吗?
出于这些目的,假设我有一个包含单个UIWebview的应用程序.
我正在向以下任何网站加载请求:facebook,gmail,twitter等,并收到登录屏幕.
问题是 - 如果我登录并重新启动应用程序,我将不得不再次通过登录屏幕.
例如,在Mobile Safari/Google应用程序中,我会保留我的登录cookie /会话详细信息/诸如此类,并且不需要再次输入我的用户凭据.这就是我想要的行为.
我试过的东西:
如何实现Mobile Safari和Google应用程序的行为?