ios_webView

iOS开发中WebView的使用

在AppDelegate.m文件里

 

01.#import "AppDelegate.h"
02.#import "webTableViewController.h"
03.@implementation AppDelegate
04. 
05.- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
06.{
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

webTableViewController.m

 

 

01.#import "webTableViewController.h"
02. 
03.@interface webTableViewController ()
04. 
05.@end
06. 
07.@implementation webTableViewController
08.- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
09.{
10.self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
11.if (self) {
12.// Custom initialization
13.}
14.return self;
15.}
16. 
17.- (void)viewDidLoad
18.{
19.[super viewDidLoad];
20.webView = [[UIWebView alloc]initWithFrame:CGRectMake(044320440)];
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(00320480)];
42.activityIndicatorView = [[UIActivityIndicatorView alloc]initWithFrame:CGRectMake(00320480)];
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)didReceiveMemoryWarning
88.{
89.[super didReceiveMemoryWarning];
90.// Dispose of any resources that can be recreated.
91.}
92. 
93.@end
原文地址:https://www.cnblogs.com/zhchoutai/p/7151101.html