UIWebView是一个内置的浏览器控件,可直接解析网页,支持HTML5,一般可以用来展示APP的帮助网页,使用很简单,主要包括:
1.实现UIWebViewDelegate
2.在类里面设置与控件连接的变量
3.在类的viewDidLoad里面初始化该控件的代理为self
4.在delloc李解除代理设置
示例:
h文件
//
// ViewController.h
// ABrower
//
// Created by God Lin on 14/12/1.
// Copyright (c) 2014年 arbboter. All rights reserved.
//
#import <UIKit/UIKit.h>
/* 实现代理 */
@interface ViewController : UIViewController <UIWebViewDelegate>
{
IBOutlet UIWebView* _webView;
}
@property (nonatomic, retain) UIWebView* _webView;
-(IBAction)Go:(id)sender;
@end
m文件
//
// ViewController.m
// ABrower
//
// Created by God Lin on 14/12/1.
// Copyright (c) 2014年 arbboter. All rights reserved.
//
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
@synthesize _webView;
// 点击确定键盘时开始加载网页
-(IBAction)Go:(id)sender
{
UITextField* textFiled = sender;
[textFiled resignFirstResponder];
NSString* strUrl = nil;
// 确保默认使用hhtp协议
if([[textFiled.text substringToIndex:4] isEqualToString:@"http"])
{
strUrl = textFiled.text;
}
else
{
strUrl = [NSString stringWithFormat:@"http://%@", textFiled.text];
textFiled.text = strUrl;
}
// 构建网页请求
NSURL* url = [NSURL URLWithString:strUrl];
NSURLRequest* request = [NSURLRequest requestWithURL:url];
[_webView loadRequest:request];
}
/* 网页控件的部分函数 */
- (void)webViewDidStartLoad:(UIWebView *)webView
{
NSLog(@"网页正在加载");
}
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
NSLog(@"网页加载完毕");
}
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
{
NSLog(@"网页加载出错");
}
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
_webView.delegate = self;
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
-(void)dealloc
{
_webView.delegate = nil;
[_webView release];
[super dealloc];
}
@end
运行效果图: