源码下载地址:http://download.youkuaiyun.com/detail/liu537192/8566601
效果图:
图1:
核心代码:
//
// JLViewController.m
// 01-UIWebView
//
// Created by Mac on 15-4-5.
// Copyright (c) 2015年 vxinyou. All rights reserved.
//
#import "JLViewController.h"
@interface JLViewController ()
@property (weak, nonatomic) IBOutlet UISearchBar *searchBar;
@property (weak, nonatomic) IBOutlet UIWebView *webView;
@property (weak, nonatomic) IBOutlet UIButton *goBackBtn;
@property (weak, nonatomic) IBOutlet UIButton *goForwardBtn;
@end
@implementation JLViewController
- (void)viewDidLoad
{
[super viewDidLoad];
// 创建url
NSURL *url = [NSURL URLWithString:@"http://m.baidu.com"];
// 通过url创建request请求
NSURLRequest *request = [NSURLRequest requestWithURL:url];
// webView加载request请求
[self.webView loadRequest:request];
// 给webView设置代理
self.webView.delegate = self;
// 给searchBar设置代理
self.searchBar.delegate = self;
}
#pragma mark -webView的代理方法
/**
* webView加载完毕时会调用这个方法
*/
- (void)webViewDidFinishLoad:(UIWebView *)webView{
// 如图1所示,已经在storyboard中设置了webView的前进和后退按钮
self.goBackBtn.enabled = webView.canGoBack;
self.goForwardBtn.enabled = webView.canGoForward;
}
#pragma mark -searchBar的代理方法
/**
* 在searchBar中按回车或者点击了键盘的“Search”按键会调用这个方法
*/
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar{
// 创建url
NSString *searchStr = searchBar.text;
// 如果用户输入的字符串不是以"http://"开头,就用手机百度来搜索字符串,
// 如果用户输入的字符串是以"http://"开头,直接加载用户输入的地址
if (![searchStr hasPrefix:@"http://"]) {
// 通过手机百度来搜索用户输入的字符串
searchStr = [NSString stringWithFormat:@"http://m.baidu.com/s?word=%@", searchStr];
}
// 如果搜索的字符串中含有中文,要对中文进行编码
NSURL *url = [NSURL URLWithString:[searchStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
// 通过url创建request请求
NSURLRequest *request = [NSURLRequest requestWithURL:url];
// webView加载request请求
[self.webView loadRequest:request];
// 收起键盘
[self.view endEditing:YES];
}
@end