iPhoneアプリ開発の虎の巻
HOME > UIWebView

UIWebView

UIWebViewクラスは、Webページを管理するクラスです。
このクラスを使用する事で、アプリケーション内にWebページを表示させることができます。

UIWebViewのクラス階層

NSObjectUIResponderUIView ↑ UIWebView

生成

// 生成例
UIWebView *wv = [[UIWebView alloc] init];

// サイズを指定した生成例
UIWebView *wv = [UIWebView alloc] initWithFrame:self.view.bounds];

※サイズに関しては、サイズ指定のCGRect欄をご覧ください。

UIWebViewのプロパティ

【UIWebViewの主要プロパティ】
プロパティ名/型 読専 説明
delegate
(UIWebViewDelegate)
デリゲートを指定する
(例)wv.delegate = self;
scalesPageToFit
BOOL
ピンチイン/アウトの可否を設定する
 YES:ピンチイン/アウトを可能にする
 NO:ピンチイン/アウトを不可にする
(例)wv.scalesPageToFit = YES;
loading
BOOL
ページ読み込み中かどうか
 YES:ページ読み込み中
 NO:ページ読み込み中ではない
(例)BOOL b = wv.loading;
canGoBack
BOOL
前のページに戻れるかどうか
 YES:戻れる
 NO:戻れない(戻るページが無い)
(例)BOOL b = wv.canGoBack;
canGoForward
BOOL
次のページに進めるかどうか
 YES:進める
 NO:進めない(進むページが無い)
(例)BOOL b = wv.canGoForward;

主要なプロパティのみ掲載しています。
 上記「UIWebViewのクラス階層」にあるクラスのプロパティも使用できます。

UIWebViewのメソッド

【UIWebViewの主要メソッド】
メソッド 説明
-(void)loadRequest:
(NSURLRequest *)request
指定したページを読み込む
(例)[wv loadRequest:[NSURLRequest requestWithURL:@"http:xx"]];
-(void)goBack 前のページに戻る
(例)[wv goBack];
-(void)goForward 次のページに進む
(例)[wv goForward];
-(void)reload リロードする
(例)[wv reload];
-(void)stopLoading ページの読込を中止する
(例)[wv stopLoading];

主要なメソッドのみ掲載しています。
 上記「UIWebViewのクラス階層」にあるクラスのメソッドも使用できます。

UIWebViewのデリゲートメソッド

【UIWebViewDelegate】
デリゲート 説明
-(void)webViewDidStartLoad:(UIWebView*)webView ページ読込直後に呼ばれる
-(void)webViewDidFinishLoad:(UIWebView*)webView ページ読込完了時に呼ばれる

主要なデリゲートメソッドのみ掲載しています。

UIWebViewの使用例

// UIWebView例文
UIWebView *wv = [[UIWebView alloc] init];
wv.delegate = self;
wv.frame = CGRectMake(0, 0, 200, 300);
wv.scalesPageToFit = YES;
[self.view addSubview:wv];

NSURL *url = [NSURL URLWithString:@"http://www.yahoo.co.jp"];
NSURLRequest *req = [NSURLRequest requestWithURL:url];
[wv loadRequest:req];
// ページ読込開始時にインジケータをくるくるさせる
-(void)webViewDidStartLoad:(UIWebView*)webView{
  [UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
}

// ページ読込完了時にインジケータを非表示にする
-(void)webViewDidFinishLoad:(UIWebView*)webView{
  [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
}
totop