2015年

6月

20日

Objective-C Webページ

ViewController.m

#import "ViewController.h"


@interface ViewController () <UIWebViewDelegate>


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

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

@property (weak, nonatomic) IBOutlet UIBarButtonItem *biGoBack;

@property (weak, nonatomic) IBOutlet UIBarButtonItem *biGoForward;

@property (weak, nonatomic) IBOutlet UIActivityIndicatorView *aiIndicator;


@end


@implementation ViewController


- (void)viewDidLoad

{

    [super viewDidLoad];

// Do any additional setup after loading the view, typically from a nib.

// IBで設定済

// self.wvWeb.delegate = self;

}


- (void)didReceiveMemoryWarning

{

    [super didReceiveMemoryWarning];

    // Dispose of any resources that can be recreated.

}


#pragma mark - Action Method


// キーボード確定時

- (IBAction)exitTextField:(id)sender {

//

}


// URLテキスト更新時

- (IBAction)changeAddress:(UITextField *)sender {

// Webページ読込

[self loadWebPage:sender.text];

}


// ホームボタン押下

- (IBAction)goHome:(id)sender {

// Webページ読込

[self loadWebPage:@"http://www.apple.com/jp/"];

}


// Safariボタン押下

- (IBAction)sendSafari:(id)sender {

NSURL *url = [NSURL URLWithString:self.tfAddress.text];

[[UIApplication sharedApplication] openURL:url];

}


#pragma mark - Own MEthod


// Webページ読込

- (void)loadWebPage:(NSString *)urlString {

NSURL *url = [NSURL URLWithString:urlString];

NSURLRequest *req = [NSURLRequest requestWithURL:url];

[self.wvWeb loadRequest:req];

}


#pragma mark - UIWebViewDelegate Method


// Webページ読込開始後

- (void)webViewDidStartLoad:(UIWebView *)webView {

// インジケーター表示

{

// (ネットワーク アクティビティ インジケーター)

[UIApplication sharedApplication].

networkActivityIndicatorVisible = YES;

// (アクティビティ インジケーター)

[self.aiIndicator startAnimating];

}

}


// Webページ読込完了後

- (void)webViewDidFinishLoad:(UIWebView *)webView {

// インジケーター非表示

{

// (ネットワーク アクティビティ インジケーター)

[UIApplication sharedApplication].

networkActivityIndicatorVisible = NO;

// (アクティビティ インジケーター)

[self.aiIndicator stopAnimating];

}


// WebページのURLテキスト反映

self.tfAddress.text =

[webView stringByEvaluatingJavaScriptFromString:@"document.URL"];

    

    // Webページの大きさを自動的に画面にフィットさせる

    //webView.scalesPageToFit = YES;

// 戻る、進むボタン制御

self.biGoBack.enabled = webView.canGoBack;

self.biGoForward.enabled = webView.canGoForward;

// ページタイトル取得

NSString *str01 =

[webView stringByEvaluatingJavaScriptFromString:@"document.title"];

NSLog(@"ページタイトル:%@", str01);

// HTML(BODY)取得

NSString *str02 =

[webView stringByEvaluatingJavaScriptFromString:

@"document.body.innerHTML"];

NSLog(@"HTML(BODY)%@", str02);

}


@end

GitHub Web

▫️参考ページ


  

目 次