UI: UIWebView

將網頁視圖放置在 UI 上並使用其中的一個加載方法: 
 
loadData:MIMEType:textEncodingName:baseURL:
加載一個 NSData 的實例到頁面視圖(web view)上。 
 
loadHTMLString:baseURL:
這個方法是加載 NSString 的一個實例到頁面視圖上。這個 string 必須是一個有效的 HTML,或者說瀏覽器能夠渲染的內容 
NSString *htmlString = @"iOS 6 Programming <strong>Cookbook</strong>"; [self.myWebView loadHTMLString:htmlString
baseURL:nil];

loadRequest:html

加載一個 NSURLRequest 的實例。當你想要在應用程序的網頁視圖裏加載遠程的 URL 時,這個方法是頗有用的。 web

- (void)viewDidLoad{
[super viewDidLoad];
self.view.backgroundColor = [UIColor whiteColor];
self.myWebView = [[UIWebView alloc] initWithFrame:self.view.bounds]; self.myWebView.scalesPageToFit = YES;
[self.view addSubview:self.myWebView];
NSURL *url = [NSURL URLWithString:@"http://www.apple.com"]; NSURLRequest *request = [NSURLRequest requestWithURL:url]; [self.myWebView loadRequest:request];
}

  當加載網頁時會出現一個活動的指示器 這個活動指示器已是程序的一部分了,咱們必須先建立它。咱們能夠使用 UIApplication 的 setNetWorkActivityIndicatorVisible:這個方法來控制它 .瀏覽器

  另外,UIWebViewDelegate 協議的三個方法:網絡

  webViewDidStartLoad:    當網頁視圖開始加載內容時將調用這個方法。app

  webViewDidFinishLoad:    當網頁視圖完成加載時將調用這個方法。url

  webView:didFailLoadWithError:當因加載出錯(例如:因網絡問題而斷開可鏈接)而致使中止加載時將調用這方法。spa

.....
self.myWebView.delegate = self;
.....
- (void)webViewDidStartLoad:(UIWebView *)webView{
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES];
}

- (void)webViewDidFinishLoad:(UIWebView *)webView{
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO];
}

- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error{ [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO];
}
相關文章
相關標籤/搜索