iOS之webview載入網頁、檔案、html的方法,

來源:互聯網
上載者:User

iOS之webview載入網頁、檔案、html的方法,

UIWebView  是用來載入載入網頁資料的一個框。UIWebView可以用來載入pdf、word、doc 等等檔案

產生webview 有兩種方法,1、通過storyboard 拖拽  2、通過alloc init 來初始化

建立webview,下列文本中 _webView.dataDetectorTypes = UIDataDetectorTypeAll; 是識別webview中的類型,例如 當webview中有電話號碼,點擊號碼就能直接打電話

- (UIWebView *)webView   {      if (!_webView) {          _webView = [[UIWebView alloc] initWithFrame:self.view.bounds];          _webView.dataDetectorTypes = UIDataDetectorTypeAll;      }      return _webView;  }  

載入網頁

// 讓瀏覽器載入指定的字串,使用m.baidu.com進行搜尋  - (void)loadString:(NSString *)str  {      // 1. URL 定位資源,需要資源的地址      NSString *urlStr = str;      if (![str hasPrefix:@"http://"]) {          urlStr = [NSString stringWithFormat:@"http://m.baidu.com/s?word=%@", str];      }            NSURL *url = [NSURL URLWithString:urlStr];            // 2. 把URL告訴給伺服器,請求,從m.baidu.com請求資料      NSURLRequest *request = [NSURLRequest requestWithURL:url];            // 3. 發送請求給伺服器      [self.webView loadRequest:request];  }  

載入html

    // HTML是網頁的設計語言      // <>表示標記</>      // 應用情境:截取網頁中的某一部分顯示      // 例如:網頁的完整內容中包含廣告!載入完成頁面之後,把廣告部分的HTML刪除,然後再載入      // 被很多新聞類的應用程式使用      [self.webView loadHTMLString:@"<p>Hello</p>" baseURL:nil];  

載入本地檔案

#pragma mark - 負載檔案  - (void)loadFile  {      // 應用情境:載入從伺服器上下載的檔案,例如pdf,或者word,圖片等等檔案      NSURL *fileURL = [[NSBundle mainBundle] URLForResource:@"關於.txt" withExtension:nil];            NSURLRequest *request = [NSURLRequest requestWithURL:fileURL];            [self.webView loadRequest:request];  }  

以二級制的方式載入本地檔案

#pragma 以位元據的形式負載檔案  - (void)loadDataFile  {      // 最最常見的一種情況      // 開啟IE,訪問網站,提示你安裝Flash外掛程式      // 如果沒有這個應用程式,是無法用UIWebView開啟對應的檔案的            // 應用情境:載入從伺服器上下載的檔案,例如pdf,或者word,圖片等等檔案      NSURL *fileURL = [[NSBundle mainBundle] URLForResource:@"iOS 7 Programming Cookbook.pdf" withExtension:nil];            NSURLRequest *request = [NSURLRequest requestWithURL:fileURL];      // 伺服器的響應對象,伺服器接收到請求返回給用戶端的      NSURLResponse *respnose = nil;            NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&respnose error:NULL];            NSLog(@"%@", respnose.MIMEType);            // 在iOS開發中,如果不是特殊要求,所有的文本編碼都是用UTF8      // 先用UTF8解釋接收到的位元據流      [self.webView loadData:data MIMEType:respnose.MIMEType textEncodingName:@"UTF8" baseURL:nil];  }  

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.