iOS开发中WebView的使用
在AppDelegate.m文件中
01.#import "AppDelegate.h"02.#import "webTableViewController.h"03.@implementation AppDelegate04. 05.-
(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions06.{07.self.window
= [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];08.//
Override point for customization after application launch.09.self.window.backgroundColor
= [UIColor whiteColor];10.webTableViewController
*web = [[webTableViewController alloc]init];11.self.window.rootViewController
= web;12.[self.window
makeKeyAndVisible];13.return YES;14.}
新键一个类命名为webTableViewController
webTableViewController.h
01.#import <UIKit/UIKit.h>02. 03.@interface webTableViewController
: UIViewController<UIWebViewDelegate>04.{05.IBOutlet
UIWebView *webView;06. 07.UIActivityIndicatorView
*activityIndicatorView;08.UIView
*opaqueView;09.}10. 11.@end
01.#import "webTableViewController.h"02. 03.@interface webTableViewController
()04. 05.@end06. 07.@implementation webTableViewController08.-
(id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil09.{10.self
= [super initWithNibName:nibNameOrNil
bundle:nibBundleOrNil];11.if (self)
{12.//
Custom initialization13.}14.return self;15.}16. 17.-
(void)viewDidLoad18.{19.[super viewDidLoad];20.webView
= [[UIWebView alloc]initWithFrame:CGRectMake(0, 44, 320, 440)];21.[webView
setUserInteractionEnabled:YES];//是否支持交互22.//[webView
setDelegate:self];23.webView.delegate=self;24.[webView
setOpaque:NO];//opaque是不透明的意思25.[webView
setScalesPageToFit:YES];//自动缩放以适应屏幕26.[self.view
addSubview:webView];27. 28.//加载网页的方式29.//1.创建并加载远程网页30.NSURL
*url = [NSURL URLWithString:@"http://www.csdn.com"];31.[webView
loadRequest:[NSURLRequest requestWithURL:url]];32.//2.加载本地文件资源33./*
NSURL *url = [NSURL fileURLWithPath:filePath];34.NSURLRequest
*request = [NSURLRequest requestWithURL:url];35.[webView
loadRequest:request];*/36.//3.读入一个HTML,直接写入一个HTML代码37.//NSString
*htmlPath = [[[NSBundle mainBundle]bundlePath]stringByAppendingString:@"webapp/test.html"];38.//NSString
*htmlString = [NSString stringWithContentsOfURL:htmlPath encoding:NSUTF8StringEncoding error:NULL];39.//[webView
loadHTMLString:htmlString baseURL:[NSURL fileURLWithPath:htmlPath]];40. 41.opaqueView
= [[UIView alloc]initWithFrame:CGRectMake(0, 0, 320, 480)];42.activityIndicatorView
= [[UIActivityIndicatorView alloc]initWithFrame:CGRectMake(0, 0, 320, 480)];43.[activityIndicatorView
setCenter:opaqueView.center];44.[activityIndicatorView
setActivityIndicatorViewStyle:UIActivityIndicatorViewStyleWhite];45.[opaqueView
setBackgroundColor:[UIColor blackColor]];46.[opaqueView
setAlpha:0.6];47.[self.view
addSubview:opaqueView];48.[opaqueView
addSubview:activityIndicatorView];49. 50. 51.}52. 53.-(void)webViewDidStartLoad:(UIWebView
*)webView{54.[activityIndicatorView
startAnimating];55.opaqueView.hidden
= NO;56.}57. 58.-(void)webViewDidFinishLoad:(UIWebView
*)webView{59.[activityIndicatorView
startAnimating];60.opaqueView.hidden
= YES;61.}62. 63.//UIWebView如何判断
HTTP 404 等错误64.-(void)connection:(NSURLConnection
*)connection didReceiveResponse:(NSURLResponse *)response{65.NSURL
*url = [NSURL URLWithString:@"http://www.csdn.com"];66.NSHTTPURLResponse
*httpResponse = (NSHTTPURLResponse *)response;67.if ((([httpResponse
statusCode]/100)
== 2))
{68.//
self.earthquakeData = [NSMutableData data];69.[UIApplication
sharedApplication].networkActivityIndicatorVisible = YES;70. 71.[
webView loadRequest:[ NSURLRequest requestWithURL: url]];72.webView.delegate
= self;73.} else {74.NSDictionary
*userInfo = [NSDictionary dictionaryWithObject:75.NSLocalizedString(@"HTTP
Error",76.@"Error
message displayed when receving a connection error.")77.forKey:NSLocalizedDescriptionKey];78.NSError
*error = [NSError errorWithDomain:@"HTTP" code:[httpResponse
statusCode] userInfo:userInfo];79. 80.if ([error
code] == 404)
{81.NSLog(@"xx");82.webView.hidden
= YES;83.}84. 85.}86.}87.-
(void)didReceiveMemoryWarning88.{89.[super didReceiveMemoryWarning];90.//
Dispose of any resources that can be recreated.91.}92. 93.@end版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/cxt528440900/article/details/47457679