天天看點

iOS開發之UIWebView

UIWebView是iOS sdk中一個最常用的控件。是内置的浏覽器控件,我們可以用它來浏覽網頁、打開文檔等等。這篇文章我将使用這個控件,做一個簡易的浏覽器。如下圖:

我們建立一個Window-based Application程式命名為:UIWebViewDemo

UIWebView的loadRequest可以用來加載一個url位址,它需要一個NSURLRequest參數。我們定義一個方法用來加載url。在UIWebViewDemoViewController中定義下面方法:

<a></a>

在界面上放置3個控件,一個textfield、一個button、一個uiwebview,布局如下:

在代碼中定義相關的控件:webView用于展示網頁、textField用于位址欄、activityIndicatorView用于加載的動畫、buttonPress用于按鈕的點選事件。

<code>@interface</code> <code>UIWebViewDemoViewController :UIViewController&lt;UIWebViewDelegate&gt; {   </code>

<code>    </code><code>IBOutlet</code> <code>UIWebView *webView;</code>

<code>    </code><code>IBOutlet</code> <code>UITextField *textField;</code>

<code>    </code><code>UIActivityIndicatorView *activityIndicatorView;</code>

<code>    </code> 

<code>}</code>

<code>- (</code><code>IBAction</code><code>)buttonPress:(</code><code>id</code><code>) sender;</code>

<code>- (</code><code>void</code><code>)loadWebPageWithString:(</code><code>NSString</code><code>*)urlString;</code>

<code>@end</code>

使用IB關聯他們。

設定UIWebView,初始化UIActivityIndicatorView:

UIWebView主要有下面幾個委托方法:

1、- (void)webViewDidStartLoad:(UIWebView *)webView;開始加載的時候執行該方法。

2、- (void)webViewDidFinishLoad:(UIWebView *)webView;加載完成的時候執行該方法。

3、- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error;加載出錯的時候執行該方法。

我們可以将activityIndicatorView放置到前面兩個委托方法中。

buttonPress方法很簡單,調用我們開始定義好的loadWebPageWithString方法就行了:

<code>- (</code><code>IBAction</code><code>)buttonPress:(</code><code>id</code><code>) sender</code>

<code>{</code>

<code>    </code><code>[textField resignFirstResponder];</code>

<code>    </code><code>[</code><code>self</code> <code>loadWebPageWithString:textField.text];</code>

當請求頁面出現錯誤的時候,我們給予提示:

<code>- (</code><code>void</code><code>)webView:(UIWebView *)webView didFailLoadWithError:(</code><code>NSError</code> <code>*)error</code>

<code>    </code><code>UIAlertView *alterview = [[UIAlertView alloc] initWithTitle:@</code><code>""</code> <code>message:[error localizedDescription]  delegate:</code><code>nil</code> <code>cancelButtonTitle:</code><code>nil</code> <code>otherButtonTitles:@</code><code>"OK"</code><code>,</code><code>nil</code><code>];</code>

<code>    </code><code>[alterview show];</code>

<code>    </code><code>[alterview release];</code>

總結:本文通過實作一個簡單的浏覽器,說明了uiwebview的方法和屬性,相信通過這個例子,應該明白uiwebview的使用了。

本文轉自麒麟部落格園部落格,原文連結:http://www.cnblogs.com/zhuqil/archive/2011/07/28/2119923.html,如需轉載請自行聯系原作者