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

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

ios_webView的更多相关文章

随机推荐

  1. 深入了解"网上邻居"原理

    说到“网上邻居”,相信很多人都很熟悉.但是说起“网上邻居”的工作机制,可能大家就不太清楚了. 要说“网上邻居”的工作机制,不妨联系一下生活中的例子:比如我(A),要拜访一个远方的朋友(B),我要去他的 ...

  2. groups---输出指定用户所在组的组成员,

    groups命令   groups命令在标准输入输出上输出指定用户所在组的组成员,每个用户属于/etc/passwd中指定的一个组和在/etc/group中指定的其他组. 语法 groups(选项)( ...

  3. 004 python 流程控制语句

    流程控制语句 1.if判断 语法 a = 10,b = 20# 1if a == 10:  print('a等于10')# 2if a > b:  print('a大于b')else:  pri ...

  4. 将已有的Eclipse项目转化为Maven项目

    将已有的Eclipse项目转化为Maven项目 我们之前在Eclipse IDE完成的Java命令行项目.Java Web项目也使用了构建工具--Ant,它帮助我们编译.运行Java源代码(无需我们自 ...

  5. Install Docker Mac OS X

    检查 Mac OS version 要求必须是 OS X 10.6 Snow Leopard or newer to run Boot2Docker 安装 Boot2Docker 列表内容 下载地址: ...

  6. 关于multiprocessing,我也来聊几句

    起因:近期须要从hbase中向 ES中导一批数据.使用multiprocessing 启动多个程序同一时候向ES导数据.能够大大提高效率.由于导数的任务是能够依照时间切割的. 一段简单的代码例如以下: ...

  7. 使用TCP协议的NAT穿透技术 (转载)

    其实很早我就已经实现了使用TCP协议穿透NAT了,但是苦于一直没有时间,所以没有写出来,现在终于放假有一点空闲,于是写出来共享之. 一直以来,说起NAT穿透,很多人都会被告知使用UDP打孔这个技术,基 ...

  8. cluster discovery概述及FaultDetection分析

    elasticsearch cluster实现了自己发现机制zen.Discovery功能主要包括以下几部分内容:master选举,master错误探测,集群中其它节点探测,单播多播ping.本篇会首 ...

  9. jmeter--FTP测试

    FTP服务主要提供上传和下载功能.有时间需要我们测试服务器上传和下载的性能.在这里我通过JMeter做一个FTP测试计划的例子. 当然,JMeter官方网站的用户手册也有例子,但由于版本较早,我也算是 ...

  10. Spider_scrapy

    多线程爬虫 进程线程回顾 进程 系统中正在运行的一个应用程序 1个CPU核心1次只能执行1个进程,其他进程处于非运行状态 N个CPU核心可同时执行N个任务 线程 进程中包含的执行单元,1个进程可包含多 ...