iOS SDK使webview在加载时淡出

Mic*_*ael 2 iphone sdk uiwebview ios4 ios

什么是在加载时淡出webview以确保人们知道其加载的最佳方式?

Jes*_*her 5

使用UIView半透明灰色的自定义并将其显示在UIWebView的顶部.这个UIView的控制器应该是一个委托,UIWebView所以它知道它何时完成加载,然后可以解雇自己.编辑:这也为您提供了一个优势,即您可以使用自己的UIActivityViewIndicator(旋转轮)放置在您想要比状态栏共享的地方更突出的地方.

或者,你可以继承UIAlertView,并采取了背景图像(即蓝色框),然后show这个UIAlertView被加载时.

编辑教程链接:教程链接是一个教程,告诉你如何做到这一点(方法1)


Wri*_*sCS 5

您可以通过更改动画序列中的alpha来淡化Webview.

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:2.0];
myWebView.alpha = 0.0;
[UIView commitAnimations];
Run Code Online (Sandbox Code Playgroud)

使用户知道加载webview的首选方法是networkActivityIndicator.

#pragma mark -
#pragma mark WebvView Delegates

-(void)webViewDidStartLoad:(UIWebView *)webView {
    UIApplication* app = [UIApplication sharedApplication];
    app.networkActivityIndicatorVisible = YES; // to stop it, set this to NO
}

-(void)webViewDidFinishLoad:(UIWebView *)webView {
    UIApplication* app = [UIApplication sharedApplication];
    app.networkActivityIndicatorVisible = NO; // to stop it, set this to NO
}

-(void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error {
    UIApplication* app = [UIApplication sharedApplication];
    app.networkActivityIndicatorVisible = NO; // to stop it, set this to NO
}
Run Code Online (Sandbox Code Playgroud)