隨著現(xiàn)在H5的流行 越來越多的產(chǎn)品開始原生加H5的開發(fā)模式 當(dāng)然這種互相交互的模式確實給App開發(fā)帶來不少好處,互相彌補(bǔ)了各自不足之處,這篇文章就是對iOS中webView做的一個簡單介紹
什么是UIWebView
UIWebView是iOS內(nèi)置的瀏覽器控件
系統(tǒng)自帶的Safari瀏覽器就是通過UIWebView實現(xiàn)的
UIWebView不但能加載遠(yuǎn)程的網(wǎng)頁資源谆刨,還能加載絕大部分的常見文件
html\htm
pdf、doc归斤、ppt痊夭、txt
mp4
……
UIWebView常用的加載資源的方法
- (void)loadRequest:(NSURLRequest*)request;
常用屬性和方法
重新加載(刷新)
- (void)reload;
停止加載
- (void)stopLoading;
回退
- (void)goBack;
前進(jìn)
- (void)goForward;
需要進(jìn)行檢測的數(shù)據(jù)類型
@property(nonatomic)UIDataDetectorTypes dataDetectorTypes
是否能回退
@property(nonatomic,readonly,getter=canGoBack) BOOL canGoBack;
是否能前進(jìn)
@property(nonatomic,readonly,getter=canGoForward) BOOL canGoForward;
是否正在加載中
@property(nonatomic,readonly,getter=isLoading) BOOL loading;
是否伸縮內(nèi)容至適應(yīng)屏幕當(dāng)前尺寸
@property(nonatomic)BOOL scalesPageToFit;
監(jiān)聽UIWebView的加載過程
成為UIWebView的代理,遵守UIWebViewDelegate協(xié)議脏里,就能監(jiān)聽UIWebView的加載過程
開始發(fā)送請求(加載數(shù)據(jù))時調(diào)用這個方法
- (void)webViewDidStartLoad:(UIWebView*)webView;
請求完畢(加載數(shù)據(jù)完畢)時調(diào)用這個方法
- (void)webViewDidFinishLoad:(UIWebView*)webView;
請求錯誤時調(diào)用這個方法
- (void)webView:(UIWebView*)webViewdidFailLoadWithError:(NSError*)error;
UIWebView在發(fā)送請求之前她我,都會調(diào)用這個方法迫横,如果返回NO,代表停止加載請求恨狈,返回YES拴事,代表允許加載請求
- (BOOL)webView:(UIWebView*)webViewshouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType;