UIWebView

#import "ViewController.h"

 

@interface ViewController () <UISearchBarDelegate>

 

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

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

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

 

@end

 

@implementation ViewController

 

- (void)viewDidLoad

{

    [super viewDidLoad];

 

    // 1. 确定要访问的资源——URL

    NSURL *url = [NSURL URLWithString:@"http://www.baidu.com"];

 

    // 2. 建立网络请求

    // 提示:所有的网络访问的本质都是一个网络请求:即请求从服务器获取某一个资源

    // 因此在网络访问中,指定了要访问的资源地址之后,需要建立一个网络访问请求

    // 该请求的含义是:向服务器[请求][资源URL]

    NSURLRequest *request = [NSURLRequest requestWithURL:url];

 

    // 3. UIWebView加载网络请求

    [self.webView loadRequest:request];

}

 

#pragma mark - 搜索栏代理方法

- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar

{

    NSString *str = searchBar.text;

    

    // 1. 判断是否以http开头,如果没有则用百度搜索

    if (![str hasPrefix:@"http://"]) {

        str = [NSString stringWithFormat:@"http://m.baidu.com/s?word=%@", str];

    }

    

    // 2. 在URL中,如果包含中文字符串,需要将字符串转换为带百分号的格式

    NSURL *url = [NSURL URLWithString:[str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];

    NSURLRequest *request = [NSURLRequest requestWithURL:url];

    [self.webView loadRequest:request];

    

    [self.view endEditing:YES];

}

 

#pragma mark - UIWebView代理方法

- (void)webViewDidFinishLoad:(UIWebView *)webView

{

    self.goBackButton.enabled = self.webView.canGoBack;

    self.goForwardButton.enabled = self.webView.canGoForward;

}

 

@end

posted @ 2016-03-29 22:11  lance.xiang  阅读(106)  评论(0编辑  收藏  举报