til*_*arr 34 objective-c uiwebview ios
我知道它什么时候加载...(webViewDidFinishLoad),但我想用
[webView.layer renderInContext:UIGraphicsGetCurrentContext()];
Run Code Online (Sandbox Code Playgroud)
从UIWebView创建图像.偶尔我会在webView完成渲染之前获取图像.我可以使用performSelector来延迟图像的获取,但等待的数量是任意的和脆弱的.
使用 window.onload 或 jQuery $(document).ready 事件来触发 shouldStartLoad 回调怎么样?
就像是:
$(document).ready(function(){
location.href = "app://do.something"
})
Run Code Online (Sandbox Code Playgroud)
并在你的 UIWebViewDelegate 中执行类似的操作:
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
NSURL *url = request.URL;
if([url.host isEqualToString:@"app"]){
//maybe check for "do.something"
//at this point you know, when the DOM is finished
}
}
Run Code Online (Sandbox Code Playgroud)
使用此方法,您可以将每个可能的事件从 JS 代码转发到 obj-c 代码。
希望有帮助。代码示例是在浏览器中编写的,因此未经测试!;-)