IOS中WebView的使用

  UIWebView是iOS sdk中一個最經常使用的控件。是內置的瀏覽器控件,咱們能夠用它來瀏覽網頁、打開文檔等等,UIWebView可以加載html/htm、pdf、docx、txt等格式的文件 
系統自帶的Safari瀏覽器就是經過UIWebView實現的。下面個人一塊兒來開開如何簡單使用webView。html

  一、搭建UI界面web

 

  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文件url

    //監測全部數據類型:設定電話號碼、網址、電子郵件和日期等文字變爲連接文字
    [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];

  效果圖:spa

  四、加載txt和上面相似本文不作講解 代理

  五、加載HTML,如今有html文件一個code

加載頁面,獲取字符串而後顯示便可:orm

//監測全部數據類型:設定電話號碼、網址、電子郵件和日期等文字變爲連接文字
    [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];

效果圖:htm

六、加載URL請求

    //監測全部數據類型:設定電話號碼、網址、電子郵件和日期等文字變爲連接文字
    [webView setDataDetectorTypes:UIDataDetectorTypeAll];
 
    NSURL * url=[NSURL URLWithString:@"http://21-sun.com"];
    [self.webView loadRequest:[NSURLRequest requestWithURL:url]];

效果圖:

七、代理方法

// 網頁開始加載的時候調用
-(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/ 
本文版權歸煙臺傑瑞教育科技有限公司和博客園共有,歡迎轉載,但未經做者贊成必須保留此段聲明,且在文章頁面明顯位置給出原文鏈接,不然保留追究法律責任的權利。
相關文章
相關標籤/搜索