真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

瘋狂ios講義之網(wǎng)頁控件(UIWebView)

通過使用UIWebView控件,可以實現(xiàn)一個內(nèi)置的瀏覽器(類似于Safari),而且可以直接將這個瀏覽器內(nèi)嵌到應(yīng)用的任意位置,因此非常方便。

創(chuàng)新互聯(lián)建站專注于網(wǎng)站建設(shè),為客戶提供網(wǎng)站制作、做網(wǎng)站、網(wǎng)頁設(shè)計開發(fā)服務(wù),多年建網(wǎng)站服務(wù)經(jīng)驗,各類網(wǎng)站都可以開發(fā),成都品牌網(wǎng)站建設(shè),公司官網(wǎng),公司展示網(wǎng)站,網(wǎng)站設(shè)計,建網(wǎng)站費用,建網(wǎng)站多少錢,價格優(yōu)惠,收費合理。

UIWebView直接繼承了UIView基類,一般不可以與用戶交互。

我們既可通過Interface Builder將UIWebView拖入界面設(shè)計文件中來添加該控件,也可通過代碼創(chuàng)建UIWebView對象來添加,這兩種方式的本質(zhì)是相同的。

在Interface Builder的界面設(shè)置文件中選中某個UIWebView,然后打開Xcode的屬性檢查器面板,可看到如圖10.56所示的面板。

瘋狂ios講義之網(wǎng)頁控件(UIWebView)

圖10.56 UIWebView對應(yīng)的屬性檢查器面板


獲取UIWebView對象后,可以配置的屬性不同,常用屬性有如下兩個。

(1)scalesPageToFit:對應(yīng)屬性檢查器面板中的Scales Page To Fit。該屬性控制是否縮放網(wǎng)頁以適應(yīng)該控件。

(2)dataDetectorTypes:對應(yīng)屬性面板中的Detection屬性,該屬性支持如下枚舉值。

UIDataDetectorTypePhoneNumbe:自動檢測網(wǎng)頁上的電話號碼,點擊該號碼就會撥號。

UIDataDetectorTypeLink:自動檢測網(wǎng)頁上的超鏈接,點擊該鏈接就會導(dǎo)航到鏈接對應(yīng)的頁面。

UIDataDetectorTypeAddress:自動檢測網(wǎng)頁上的地址。

UIDataDetectorTypeCalendarEvent :自動檢測網(wǎng)頁上的日歷事件。

UIDataDetectorTypeNone:不檢測網(wǎng)頁上的任何內(nèi)容。

UIDataDetectorTypeAll:自動檢測網(wǎng)頁上的所有特殊內(nèi)容。

設(shè)置完UIWebView對象之后,接下來可通過如下方法控制UIWebView加載內(nèi)容。

- loadHTMLString:baseURL::加載并顯示HTML字符串。

- loadRequest::加載并顯示指定URL對應(yīng)網(wǎng)頁。

- stringByEvaluatingJavaScriptFromString::執(zhí)行指定的JavaScript字符串,并返回執(zhí)行結(jié)果。

除此之外,還可調(diào)用如下方法對UIWebView指定導(dǎo)航控制。

- goBack:后退。

- goForward:前進(jìn)。

- reload:重新加載網(wǎng)頁。

- stopLoading:停止加載網(wǎng)頁。

當(dāng)UIWebView加載網(wǎng)頁時,程序可為UIWebView設(shè)置一個delegate委托(該委托對象必須實現(xiàn)UIWebViewDelegate協(xié)議),該協(xié)議中包含如下方法。

- webView:shouldStartLoadWithRequest:navigationType::該UIWebView將要開始裝載指定URL對應(yīng)的網(wǎng)頁時激發(fā)該方法。

- webViewDidStartLoad::該UIWebView開始裝載時激發(fā)該方法。

- webViewDidFinishLoad::該UIWebView裝載完成時激發(fā)該方法。

- webView:didFailLoadWithError::該UIWebView裝載響應(yīng)出現(xiàn)錯誤時激發(fā)該方法。

下面通過示例來介紹如何使用UIWebView顯示HTML字符串。首先創(chuàng)建一個Single View Application,使用Interface Builder打開應(yīng)用的界面設(shè)計文件,并將UIWebView拖入應(yīng)用界面中,然后讓該UIWebView占滿整個手機屏幕。

為了在程序中訪問該UIWebView控件,需要將它綁定到控制器類的webView IBAction屬性。

下面開始修改控制器類的實現(xiàn)部分,主要就是使用UIWebView來裝載、顯示指定的HTML字符串,代碼如下。

程序清單:codes/10/10.14/UIWebViewTest/UIWebViewTest /FKViewController.m

瘋狂ios講義之網(wǎng)頁控件(UIWebView)

上面的程序先拼接了一段HTML字符串,接下來的粗體字代碼調(diào)用UIWebView的方法來裝載并顯示該HTML字符串,該HTML字符串中嵌入了JavaScript腳本——UIWebView完全支持它們。

編譯、運行該程序,可以看到如圖10.57所示的警告框。

瘋狂ios講義之網(wǎng)頁控件(UIWebView)

圖10.57 使用UIWebView顯示HTML字符串

從圖10.57可以看出,該UIWebView完全支持包含JavaScript的HTML字符串,圖10.57中看到的警告框就是JavaScript執(zhí)行的效果。

單擊圖10.57所示警告框的“OK”按鈕,該應(yīng)用將會顯示如圖10.58所示的效果。

瘋狂ios講義之網(wǎng)頁控件(UIWebView)

圖10.58 使用UIWebView顯示HTML字符串

實例:迷你瀏覽器

借助UIWebView的loadRequest:方法,可讓該控件加載并顯示指定URL對應(yīng)的網(wǎng)頁。通過這個功能,可實現(xiàn)自己的瀏覽器。

首先創(chuàng)建一個Single View Application,使用Interface Builder打開應(yīng)用的界面設(shè)計文件,并將UITextField(用于輸入訪問地址)、UIButton和UIWebView拖入應(yīng)用界面中,然后將這些控件擺放整齊。

為了在程序中訪問UITextField和UIWebView控件,分別將它們綁定到addr和webView兩個IBOutlet屬性。為了讓程序可以響應(yīng)按鈕的點擊事件,還需為該按鈕控件的Touch Up Inside事件綁定事件處理方法。

本例使用控制器對象作為UIWebView控件的委托對象,因此該控制器類需要實現(xiàn)UIWebViewDelegate協(xié)議。

接下來開始修改控制器類的實現(xiàn)部分,主要就是使用UIWebView來裝載并顯示指定的URL對應(yīng)的網(wǎng)頁,然后使用委托來監(jiān)控裝載過程事件,其代碼如下。

程序清單:codes/10/10.14/MyBrowser/MyBrowser/FKViewController.m

瘋狂ios講義之網(wǎng)頁控件(UIWebView)

瘋狂ios講義之網(wǎng)頁控件(UIWebView)

上面程序中的關(guān)鍵代碼是最后一行粗體代碼,這行代碼調(diào)用了UIWebView的方法來加載并顯示指定URL對應(yīng)的網(wǎng)頁。為了讓程序界面更加友好,程序還為該UIWebView控件指定了self作為委托,該控制器會監(jiān)聽并處理UIWebView的裝載過程:

當(dāng)UIWebView開始加載URL對應(yīng)的網(wǎng)頁時,程序在中央顯示一個轉(zhuǎn)動的進(jìn)度環(huán)。

當(dāng)UIWebView加載完成時,程序隱藏中央轉(zhuǎn)動的進(jìn)度環(huán)。

當(dāng)UIWebView加載失敗時,程序使用UIAlertView顯示錯誤信息。

編譯、運行該程序,即可看到如圖10.59所示的效果。

瘋狂ios講義之網(wǎng)頁控件(UIWebView)

————本文節(jié)選自《瘋狂ios講義(上)》

瘋狂ios講義之網(wǎng)頁控件(UIWebView)


分享文章:瘋狂ios講義之網(wǎng)頁控件(UIWebView)
文章路徑:http://weahome.cn/article/gjiegc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部