我正在删除webViewDidFinishLoad中的webView内容。问题是它首先加载页面并显示所有内容,然后你会看到我删除的内容消失。我希望它能让用户看不到任何消失,因此内容永远不会显示给用户。
这是我的方法:
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
NSString* script = [NSString stringWithFormat:@"document.getElementById('menu').style.display='none';"];
[self.webView stringByEvaluatingJavaScriptFromString:script];
NSLog(@"gets");
}
答案 0 :(得分:1)
诀窍是使用isLoading
属性。
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
if(!webView.isLoading){
//Has completely stopped..
}
}
答案 1 :(得分:0)
使用webview.hidden = YES,直到您不想看到数据然后再将其设置为no
答案 2 :(得分:0)
您可以使用UIWebView Delegate
方法,如下所示。
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
webView.hidden = YES;
return YES;
}
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
webView.hidden = NO;
}
答案 3 :(得分:0)
在viewDidLoad
中是否有相同的功能?
-(void)viewDidLoad{
NSString* script = [NSString stringWithFormat:@"document.getElementById('menu').style.display='none';"];
[self.webView stringByEvaluatingJavaScriptFromString:script];
NSLog(@"gets");
}