gpt4 book ai didi

iphone - UIWebView 完成速度太快

转载 作者:行者123 更新时间:2023-12-03 19:15:09 25 4
gpt4 key购买 nike

我正在将一个较大(且 JavaScript 较多)的页面加载到 UIWebView 中,并且我想添加一个 UIActivityView 以在它思考时旋转。

问题是,我的 - (void)webViewDidFinishLoad:(UIWebView *)webView 方法在渲染实际发生之前被调用了很长一段时间。足以让我的微调器(设置为在停止时隐藏)实际上从未出现。当 UI 甚至组装完毕时,旋转器已经停止并隐藏,尽管在 UIWebView 实际将商品显示到屏幕之前有足够的时间来怀疑它是否已损坏。

我希望有一个“webViewDidFinishRendering”,但这意味着 WebKit 不是快速分割的东西......;-)

想法?也许我应该把它扔掉并设置一个计时器来停止它,并将其与 WebView 中实际发生的任何事情脱钩?

最佳答案

以下是我处理需要确保页面完全加载的情况的方法:为 document.onload 事件添加一个 javascript 事件处理程序,执行如下操作:

function onDocumentLoad() {
window.location.href = 'myapp://loaded';
}

然后在你的 UIWebViewDelegate 中,你可以这样做:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
if ([[request.URL absoluteString] isEqual:@"myapp://loaded"]) {
[activityIndicator stopAnimating];
return NO;
}
return YES;
}

关于iphone - UIWebView 完成速度太快,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2813404/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com