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/
本文版權歸煙台傑瑞教育科技有限公司和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。
出處: http://www.cnblogs.com/jerehedu/
本文版權歸煙台傑瑞教育科技有限公司和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。