Ios 检测所有UIWebView加载完成:目标-C
正如标题中提到的,我正在寻找一种方法来检测同时加载HTML字符串的所有UIWebView已完成加载 我有一个自定义视图,其中有5个web视图(1个用于问题,4个用于选项)。它们中的每一个都以如下方式加载html字符串:Ios 检测所有UIWebView加载完成:目标-C,ios,objective-c,uiwebview,webviewdidfinishload,Ios,Objective C,Uiwebview,Webviewdidfinishload,正如标题中提到的,我正在寻找一种方法来检测同时加载HTML字符串的所有UIWebView已完成加载 我有一个自定义视图,其中有5个web视图(1个用于问题,4个用于选项)。它们中的每一个都以如下方式加载html字符串: [queWV loadHTMLString:queHtml baseURL:nil]; [opt1WV loadHTMLString:opt1Html baseURL:nil]; [opt2WV loadHTMLString:opt2Html baseURL:nil]; [opt
[queWV loadHTMLString:queHtml baseURL:nil];
[opt1WV loadHTMLString:opt1Html baseURL:nil];
[opt2WV loadHTMLString:opt2Html baseURL:nil];
[opt3WV loadHTMLString:opt3Html baseURL:nil];
[opt4WV loadHTMLString:opt4Html baseURL:nil];
我已尝试使用webViewDidFinishLoad检查此问题
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
if(webView == opt4WV)
{
//All web views has finished loading
}
}
但实际上,这是不正确的,因为webViewDidFinishLoad方法被调用用于随机web视图,这取决于要加载的内容
是否有任何方法可以检测所有web视图的加载完成
谢谢 也许我过于简单化了,或者没有看到什么东西,但是您是否尝试将webViewDidFinishLoad与计数器结合使用?因此,如果您有5个web视图,请实现一个从1到5的计数器,并计算webViewDidFinishLoad被调用的次数。到5时,所有视图都将加载 也许我过于简单化了,或者没有看到什么东西,但是您是否尝试将webViewDidFinishLoad与计数器结合使用?因此,如果您有5个web视图,请实现一个从1到5的计数器,并计算webViewDidFinishLoad被调用的次数。到5时,所有视图都将加载 是,使用计数器跟踪并确保所有web视图代理均设置为同一控制器是,使用计数器跟踪并确保所有web视图代理均设置为同一控制器声明此函数中的变量“已加载”
int-load=0
-(无效)webViewDidFinishLoad:(UIWebView*)webView
{
如果(网络视图==queWV | |网络视图==opt1WV | |网络视图==opt2WV | |网络视图==opt3WV | |网络视图==opt4WV)
{
加载+=1;
}
如果(加载==5){
//过程
}
}
声明此函数中的变量“已加载”
int-load=0
-(无效)webViewDidFinishLoad:(UIWebView*)webView
{
如果(网络视图==queWV | |网络视图==opt1WV | |网络视图==opt2WV | |网络视图==opt3WV | |网络视图==opt4WV)
{
加载+=1;
}
如果(加载==5){
//过程
}
}
在.h文件中创建一个这样的计数器
int webViewLoadCount = 0;
那就这样试试这个柜台
.m文件中的UIWebview委托方法
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
NSString *string = webView.request.URL.absoluteString;
if ([string rangeOfString:queHtml]) {
NSLog(@"queWV webview loaded with this %@ ",queHtml);
webViewLoadCount = webViewLoadCount + 1;
} else if ([string rangeOfString:opt1Html]) {
NSLog(@"opt1WV webview loaded with this %@ ",opt1Html);
webViewLoadCount = webViewLoadCount + 1;
} else if ([string rangeOfString:opt2Html]) {
NSLog(@"opt2WV webview loaded with this %@ ",opt2Html);
webViewLoadCount = webViewLoadCount + 1;
}else if ([string rangeOfString:opt3Html]) {
NSLog(@"opt3WV webview loaded with this %@ ",opt3Html);
webViewLoadCount = webViewLoadCount + 1;
}else if ([string rangeOfString:opt4Html]) {
NSLog(@"opt4WV webview loaded with this %@ ",opt4Html);
webViewLoadCount = webViewLoadCount + 1;
}
}
我希望这将帮助您在.h文件中创建这样一个计数器
int webViewLoadCount = 0;
那就这样试试这个柜台
.m文件中的UIWebview委托方法
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
NSString *string = webView.request.URL.absoluteString;
if ([string rangeOfString:queHtml]) {
NSLog(@"queWV webview loaded with this %@ ",queHtml);
webViewLoadCount = webViewLoadCount + 1;
} else if ([string rangeOfString:opt1Html]) {
NSLog(@"opt1WV webview loaded with this %@ ",opt1Html);
webViewLoadCount = webViewLoadCount + 1;
} else if ([string rangeOfString:opt2Html]) {
NSLog(@"opt2WV webview loaded with this %@ ",opt2Html);
webViewLoadCount = webViewLoadCount + 1;
}else if ([string rangeOfString:opt3Html]) {
NSLog(@"opt3WV webview loaded with this %@ ",opt3Html);
webViewLoadCount = webViewLoadCount + 1;
}else if ([string rangeOfString:opt4Html]) {
NSLog(@"opt4WV webview loaded with this %@ ",opt4Html);
webViewLoadCount = webViewLoadCount + 1;
}
}
我希望这将对您有所帮助可能会有所帮助
取一个NSInteger计数器代码>全局
在viewDidLoad
中初始化计数器=0代码>
然后
快乐编码…可能会有帮助
取一个NSInteger计数器代码>全局
在viewDidLoad
中初始化计数器=0代码>
然后
快乐编码…您可以使用一些布尔变量来检测每个webview完成加载。是的,我认为我们可以在那里维护计数器或数组,但有时可能会有3或6个webview,取决于选项的数量。有没有其他可靠的方法来实现它?你能得到一次加载多少个webview的确切数字吗?现在,没有。我会检查它。你可以使用一些布尔变量来检测每个webview完成加载。是的,我认为我们可以维护计数器或数组,但有时可能有3或6个webview,D取决于选项的数量。有没有其他可靠的方法来实现它?你能得到一次加载多少个Web视图的确切数字吗?到目前为止,没有。我会检查它。是的,为此我需要跟踪加载的Web视图的数量。是的,为此我需要跟踪加载的Web视图的数量。