UIWebView控制項用法,uiwebview控制項

來源:互聯網
上載者:User

UIWebView控制項用法,uiwebview控制項

UIWebView是IOS SDK中一個常用的控制項,是內建的瀏覽器控制項,我們可以用它來瀏覽網頁,開啟文檔等到。本篇部落客要講解一下UIWebView控制項製作簡易的瀏覽器

如下:


在這裡首先我採用的是可視化編程,直接在視圖上拖放控制項.

UIWebView的loadRequest可以用來載入一個url地址,它需要一個NSURLRequest參數。我們定義一個方法用來載入url。在UIWebViewController.m中定義下面方法:

- (void)loadWebPageWithString:(NSString*)urlString

{

    

   NSURL *url =[NSURL URLWithString:urlString];

   NSURLRequest *request =[NSURLRequestrequestWithURL:url];

    [_webViewloadRequest:request];

}


在介面上放置3個控制項,一個textfield、一個button、一個uiwebview,布局如下



在代碼中定義相關的控制項:webView用於展示網頁、textFiled用於地址欄、activityIndicatorView用於載入的動畫、buttonPress用於按鈕的點擊事件。

#import<UIKit/UIKit.h>


@interface MHTViewController :UIViewController<UIWebViewDelegate>

@property (nonatomic,retain)UIActivityIndicatorView *activityIndicatorView;

@property (weak,nonatomic)  IBOutlet UITextField *textField;

@property (weak,nonatomic) IBOutlet UIWebView *webView;

- (IBAction)buttonPress:(UIButton *)sender;

- (void)loadWebPageWithString:(NSString*)urlString;

@end


設定UIWebView,初始化UIActivityIndicatorView:

- (void)viewDidLoad

{

    [superviewDidLoad];

   _webView.scalesPageToFit =YES;

   _webView.delegate =self;

   _activityIndicatorView = [[UIActivityIndicatorViewalloc]

                            initWithFrame : CGRectMake(0.0f,0.0f, 32.0f, 32.0f)] ;

    [_activityIndicatorViewsetCenter: self.view.center] ;

    [_activityIndicatorViewsetActivityIndicatorViewStyle: UIActivityIndicatorViewStyleWhite] ;

    [self.viewaddSubview : _activityIndicatorView] ;

    [selfbuttonPress:nil];

}

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

1、

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType; 

當網頁視圖被指示載入內容而得到通知。

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

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

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

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

- (void)webViewDidStartLoad:(UIWebView *)webView

{

    [_activityIndicatorViewstartAnimating] ;

}

- (void)webViewDidFinishLoad:(UIWebView *)webView

{

    [_activityIndicatorViewstopAnimating];

}

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

- (IBAction)buttonPress:(UIButton *)sender

 {

    [_textFieldresignFirstResponder];

    [selfloadWebPageWithString:_textField.text];

}

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

- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error

{

   UIAlertView *alterview = [[UIAlertViewalloc] initWithTitle:@""message:[error localizedDescription] delegate:nilcancelButtonTitle:nilotherButtonTitles:@"OK",nil];

    [alterviewshow];

    [alterviewrelease];

}


附:

:


//導覽按鈕

     //返回上一個頁面

     UIBarButtonItem * btn1 = [[UIBarButtonItemalloc]initWithImage:[UIImageimageNamed:@"btn_navigationBar_back1"]style:UIBarButtonItemStylePlain target:self action:@selector(back:)];

   //暫停按鈕

   UIBarButtonItem  * btn2 = [[UIBarButtonItemalloc]initWithBarButtonSystemItem:UIBarButtonSystemItemStoptarget:selfaction:@selector(stop:)];

   self.navigationItem.leftBarButtonItems =@[btn1,btn2];

   //進入下一個頁面按鈕

   UIBarButtonItem * btn3 = [[UIBarButtonItemalloc] initWithImage:[UIImageimageNamed:@"btn_navigationBar_back"]style:UIBarButtonItemStylePlain target:self action:@selector(go:)];

   //重新整理按鈕

   UIBarButtonItem  * btn4 = [[UIBarButtonItemalloc]initWithBarButtonSystemItem:UIBarButtonSystemItemRefreshtarget:selfaction:@selector(refresh:)];

  self.navigationItem.rightBarButtonItems =@[btn3, btn4];

    [btn1release];

    [btn2release];

    [btn3release];

    [btn4release];

//分別對方法進行實現:

[webView goBack];//返回

[webView goForward];//向前

[webView reload];//重新載入資料

[webView stopLoading];//停止載入資料

屬性:

self.opaque =NO;  //設定是否不透明

self.scalesPageToFit =YES;//自動對頁面進行縮放以適應螢幕




iPhone開發培訓|iPad開發培訓班

具體課程安排(此課程可做內訓)
第一天 第一單元iOS開發語言之 iPhoneSDK本階段開始開始熟悉iPhone應用程式開發的工具:iPhoneSDK(xcode)。本階段會講解iPhoneSDK的基本用法,以及一些常用的捷徑如:.h.m檔案之間的快捷切換、appleAPI的快速定位查看,協助文檔的定位查看和建立工程需要注意的具體事宜。使學員達到對編程環境了如指掌,日後編程上手無障礙的目的。 第二單元iOS開發語言之 Objective-C語言強化本階段開始學習iOS的特有的程式設計語言Objective-C,該種語言屬於C/C++的一個變種,可以和C/C++混合使用。本階段講解Objective-C語言的物件導向編程,類的繼承,複合,多態,id,動態識別,Posing,Protocols,記憶體管理,Autorelease等主要內容。達到能夠熟練的編寫程式的能力。
第二天 第三單元iOS開發之 Foundation Kit編程強化主要學習iOS中核心類的編程使用。為後面UI,網路,多媒體等編程打好良好的基礎。同時Foundation Kit也是也是Mac OS X的核心基礎。主要內容包括:NSString, NSMutableString, NSArray, NSMutableArray, NSEnumerator, NSDictionary, NSMutableDictionary, NSNumber, NSValue, NSNull等各類蘋果iOS特性的類和方法。 第四單元Interface Builder使用和基本控制項使用(項目執行個體)使用Interface Builder建立UI項目工程,理解File Owner,First Responder,理解協議的概念。詳細分析IBOutlet和IBAction的作用和使用。理解各類控制項在IB上的屬性配置和事件處理。包括事件響應鏈,UIResponder類介紹。事件傳遞機制。UIEvent類, UITouch類,UIControl類,XCode中動態加入事件處理,在Interface Builder中圖形化加入事件處理。鍵盤事件的處理。
第三天 第五單元建立視圖控制器(項目執行個體)iOS中MVC模型介紹,UIViewController基類介紹。UIViewController和UIView關係。UITableView、UITableViewController使用,複合控制項UITabBarController建立多個Tab標籤的空間,UINavigationController導航控制項。翻轉控制器。 第六單元網路編程定位(項目執行個體)iOS網路編程,CFNetwork各種常用類介紹。NSURL,NSURLRequest,UIWebView, NSMutableURLRequest等類使用。CFHost類。使用UIWebView訪問網頁例子使用網路解析XML協議。使用網路POST, GET進行網頁表單協議進行互動。使用網路JSON協議處理網路互動。
第四天 第七單元多媒體,電話薄編程和GPS、MapView編程(項目執行個體)使用UIImage和UIImageView載入和繪製映像。使用相機介面拍取照片以及調用照片庫。使用MediaPlayer架構進行多媒體播放。使用CLLocation實現GPS定位。使用MKMapView調用googlemap。 第八單元2D/3D圖形處理,代碼代替xib實現控制項功能(項目執行個體)使用2D進行圖形繪......餘下全文>>
 
UIWebView中怎使用自訂字型?

應該是可以的,通過js來控制font,或者css 查看原帖>>
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.