一、UIWebView簡介
1、是iOS內置的瀏覽器控件,可以瀏覽網頁、打開文檔等
2、能夠加載html、pdf、docx、text等格式的文件
3、系統自帶的Safari瀏覽器就是通過UIWebView實現的
二、UIWebView加載內容的三種方式(再強調一下從服務器獲取一些東西必須進行配置)
1、loadRequest
可以加載本地或服務器中的資源、網頁
重點強調:(具體的代碼展示)(自己創建一個@property(nonatomic,strong)UIWebView *webView;設置瀏覽器范圍)
中文轉化為英文方法:(前面定義了一個字符串:)
NSString *string = @"http://www.baidu.com.你好";
string = [string stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
重點:
/*如果將一個網絡連接的字符串轉化成url對象
*如果本地的話NSURL采用 NSURL *url = [NSURL fileURLWithPath:string];
*
*如果將一個本地的路徑轉化為url對象
*如果是網絡采用 NSURL *url = [NSURL URLWithString:@"http://www.baidu.com"];
( 1) 加載一個網絡連接
NSString *string = @"http://www.baidu.com";//如果是中文需要轉換成英文
NSURL *url = [NSURL URLWithString:string];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[self.webView loadRequest:request];
(2) 加載本地文件(文檔)
NSString *string = [[NSBundle mainBundle]pathForResource:@"picture" ofType:@"jpg"];//如果是中文不需要轉換,只有在網絡上獲取才進行轉換成英文
NSURL *url = [NSURL fileURLWithPath:string];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[self.webView loadRequest:request];
2、loadHTMLString:baseURL
加載html代碼 html學習網站 http://www.w3school.com.cn/html/index.asp
參數:baseURL,相對地址可以在指定的baseURL中查找相關文件,一般賦值為nil
3、loadData:MIMEType:textEncodingName:baseURL
可以加載本地或服務器中的文件、網頁
參數MIMEType:文件類型,告訴瀏覽器使用什么樣的插件來加載數據 文件類型對照表http://tool.oschina.net/commons
三、webView導航方法
1、goBack 回退
2、goForward 前進
3、reload 重載
4、stopLoading 取消載入內容
四、常用屬性
1、自動對頁面進行縮放以適應屏幕
scalespageToFit
2、設定電話號碼、網址、電子郵件和日期等文字變為鏈接文字
dataDetectorTypes
五、代理方法
1、網頁開始加載的時候調用
- (void )webViewDidStartLoad:(UIWebView *)webView
2、網頁加載完成的時候調用
- (void )webViewDidFinishLoad:(UIWebView *)webView
3、網頁加載錯誤的時候調用
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
六.帶領大家做一個簡單的瀏覽器(我已經做好放到GitHub)
(利用到了UISearchBar,UIWebView,UIToolbar,UIActivityIndicatorView)
功能:可以搜索百度,本地,以及斷網狀態下的一些彈出效果
效果圖如下
demo代碼 密碼: ar6p