IOS中WebView的使用


  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群:JRedu技術交流 (452379712)

 

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM