如何使用進度列指示器?
// ImplementviewDidLoad to do additional setup after loading the view, typically from anib.
- (void)viewDidLoad {
// 在此中載入 spinner
,注意其中的 WebView setDelegate:self
語句,有此句才能處理後續4個Web View
的重載過程
spinner= [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(0,0,50,50)];
[spinnersetCenter:CGPointMake(350, 350)]; // I do this because I'm in landscape mode
[spinnersetActivityIndicatorViewStyle:UIActivityIndicatorViewStyleGray];
[self.viewaddSubview:spinner]; // spinner is not visible until started
[webViewsetDelegate:self];
[superviewDidLoad];
}
#pragma mark -
#pragma mark Web View lifecycle
-(void)webViewDidStartLoad:(UIWebView *)webView
{
[spinnerstartAnimating];
//opaqueview.hidden = NO ;
}
-(void)webViewDidFinishLoad:(UIWebView *)webView
{
[spinnerstopAnimating];
// [spinner release];
*** 如在此使用此句將會導致出錯,畫面停止,特別是在同一畫面不停重新整理不同內容的情況下;同時也說明,有些情況下提前 release
一些變數會導致出問題。
//opaqueview.hidden = YES ;
}
- (BOOL)webView:(UIWebView *)webViewshouldStartLoadWithRequest:(NSURLRequest *)requestnavigationType:(UIWebViewNavigationType)navigationType
{
//[spinnerstartAnimating];
returnYES;
}
- (void)webView:(UIWebView *)webViewdidFailLoadWithError:(NSError *)error
{
[spinnerstopAnimating];
}