標籤:
UIWebView是iOS sdk中一個最常用的控制項。是內建的瀏覽器控制項,我們可以用它來瀏覽網頁、開啟文檔等等,UIWebView能夠載入html/htm、pdf、docx、txt等格式的檔案
系統內建的Safari瀏覽器就是通過UIWebView實現的。下面我的一起來開開如何簡單使用webView。
1、搭建UI介面
2MIME的英文全稱是“Multipurpose Internet Mail Extensions”
多用途互連網郵件擴充,是一個互連網標準,最早應用於電子郵件系統,後來應用到瀏覽器,在這裡我們需要得到檔案的MIMIE類型,如何擷取呢?咱們通過下面方式擷取
- (NSString *) getMimeType:(NSString * ) path{ //本地檔案路徑 NSURL * url=[NSURL fileURLWithPath:path]; //建立請求 NSURLRequest * request=[NSURLRequest requestWithURL:url]; NSURLResponse * response; //發送同步請求擷取響應類型 [NSURLConnection sendSynchronousRequest:request returningResponse:(&response) error:nil]; return response.MIMEType;}
3 載入pdf檔案
//監測所有資料類型:設定電話號碼、網址、電子郵件和日期等文字變為連結文字 [webView setDataDetectorTypes:UIDataDetectorTypeAll]; //設定需要展示的檔案路徑,並且取得mimeType類型 NSString * str=[[NSBundle mainBundle] pathForResource:@"iOS6Cookbook.pdf" ofType:nil]; NSString * mimeType=[self getMimeType:str]; //調用方法載入資料 NSData * data=[NSData dataWithContentsOfFile:str];[self.webView loadData:data MIMEType:mimeType textEncodingName:@"UTF-8" baseURL:nil];
:
4、載入txt和上面類似本文不做講解
5、載入HTML,現在有html檔案一個
載入頁面,擷取字串然後顯示即可:
//監測所有資料類型:設定電話號碼、網址、電子郵件和日期等文字變為連結文字 [webView setDataDetectorTypes:UIDataDetectorTypeAll]; //設定需要展示的檔案路徑,並且取得mimeType類型 NSString * str=[[NSBundle mainBundle] pathForResource:@"book_v2.html" ofType:nil]; NSString * mimeType=[self getMimeType:str]; //調用方法載入資料 NSData * data=[NSData dataWithContentsOfFile:str]; NSString * htmlStr=[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; [self.webView loadHTMLString:htmlStr baseURL:nil];
:
6、載入URL請求
//監測所有資料類型:設定電話號碼、網址、電子郵件和日期等文字變為連結文字 [webView setDataDetectorTypes:UIDataDetectorTypeAll]; NSURL * url=[NSURL URLWithString:@"http://21-sun.com"]; [self.webView loadRequest:[NSURLRequest requestWithURL:url]];
:
7、代理方法
// 網頁開始載入的時候調用-(void)webViewDidStartLoad:(UIWebView *)webView// 網頁載入完成的時候調用-(void)webViewDidFinishLoad:(UIWebView *)webView// 網頁載入出錯的時候調用-(void)webView:(UIWebView )webView didFailLoadWithError:(NSError )error// 網頁中的每一個請求都會被觸發這個方法,返回NO代表不執行這個請求(常用於JS與iOS之間通訊)-(BOOL)webView:(UIWebView )webView shouldStartLoadWithRequest:(NSURLRequest )request navigationType:(UIWebViewNavigationType)navigationType
想要瞭解更多內容的小夥伴,可以點擊查看源碼,親自運行測試。
疑問諮詢或技術交流,請加入官方QQ群: (452379712)
傑瑞教育
出處:http://www.cnblogs.com/jerehedu/
本文著作權歸煙台傑瑞教育科技有限公司和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文串連,否則保留追究法律責任的權利。
IOS中WebView的使用