关于webView的使用方法还是比较简单的。
直接上代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
@interface ViewController () <UIWebViewDelegate>//使用代理
{
    UIWebView *webView;
    UIView *_coverView;
    UIActivityIndicatorView *_activityIndicator;//风火轮
}
 
@end
 
@implementation ViewController
 
- (void)viewDidLoad {
    [super viewDidLoad];
     
    //获取当前屏幕的宽高
    int ScreenHeight = [[UIScreen mainScreen] bounds].size.height;
    int ScreenWidth = [[UIScreen mainScreen] bounds].size.width;
     
    //获取状态栏的高度
    CGRect statusBarRect = [[UIApplication sharedApplication] statusBarFrame];
    int statusBarHeight = statusBarRect.size.height;
     
    //设置状态栏的尺寸,位置
    webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, statusBarHeight, ScreenWidth, ScreenHeight - statusBarHeight)];
    //设置请求的URL
    NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.baidu.com"]];
    [self.view addSubview:webView];
    //设置webView的代理
    webView.delegate = self;
    //加载这个URL
    [webView loadRequest:request];
     
    //smallBgView
    _coverView = [[UIView alloc] initWithFrame:CGRectMake(0, statusBarHeight, ScreenWidth, ScreenHeight - statusBarHeight)];
    _coverView.backgroundColor = [UIColor blackColor];
    _coverView.alpha = 0.5;
     
    //Activity Indicator
    _activityIndicator = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake((ScreenWidth - 30)/2 , (ScreenHeight - statusBarHeight - 30)/2, 30, 30)];
    _activityIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyleGray;
    _activityIndicator.hidesWhenStopped = YES;
    _activityIndicator.color = [UIColor whiteColor];
    _activityIndicator.alpha = 1.0;
    [_coverView addSubview:_activityIndicator];
     
}
 
//在webView开始加载时会调用该函数,我们在这里显示coverView
- (void)webViewDidStartLoad:(UIWebView *)webView
{
    [self.view addSubview:_coverView];
    [_activityIndicator startAnimating];
}
 
//在webView加载完毕时会调用该函数,我们在这里把coverView移除掉
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
    [_coverView removeFromSuperview];
    [_activityIndicator stopAnimating];
}

看下演示效果

放个demo,供大家联系
WebViewTest

本文永久地址:http://blog.it985.com/7529.html
本文出自 IT985博客 ,转载时请注明出处及相应链接。

iOS 关于webView的使用方法的更多相关文章

  1. IOS修改webView背景透明以及IOS调用前台js的方法

    工作上遇到IOS的webView中的H5页面需要透明以显示webView的背景颜色.用H5自身的透明度的css样式或者js控制背景颜色及透明度都打不到想要的效果,最后还是通过ios设置webView中 ...

  2. webview javascript 注入方法

    Android中向webview注入js代码可以通过webview.loadUrl("javascript:xxx")来实现,然后就会执行javascript后面的代码. 但是当需 ...

  3. 【Android】webview javascript 注入方法

    Android中向webview注入js代码可以通过webview.loadUrl("javascript:xxx")来实现,然后就会执行javascript后面的代码. 但是当需 ...

  4. iOS AFNetworking内存泄漏处理方法

    iOS AFN内存泄漏处理方法 细心的你是否也发现AFN的内存泄漏的问题了呢. 在这里给大家提供一个解决AFN内存泄漏的方法. 单例解决AFN内存泄漏 + (AFHTTPSessionManager ...

  5. iOS 利用webView加载html代码,在代理中获取html页面的链接时出现的问题

    getDetailWebview.loadHTMLString(webViewData as String, baseURL:NSURL(string: "\(ProBaseWeb)&quo ...

  6. ios 修改webView字体

    UIFont *font = [UIFont systemFontOfSize:]; //方法一 NSString *fontColor =@"CCCCFF"; NSString ...

  7. js 与ios 交互的三种方法

    第一种:IOS拦截url  实现跳转 参考链接:http://www.cnblogs.com/pengyingh/articles/2354381.html IOS9.0 及以上支持 第二种:IOS ...

  8. IOS 获取最新设备型号方法

    1.IOS 获取最新设备型号方法列表最新对照表:http://theiphonewiki.com/wiki/Models方法: #import "sys/utsname.h” struct ...

  9. 李洪强iOS开发Swift篇—10_方法

    李洪强iOS开发Swift篇—10_方法 一.简单说明 跟其他面向对象语言一样,Swift中的方法可以分为2大类: (1)实例方法(Instance Methods) 在OC中,实例方法以减号(-)开 ...

随机推荐

  1. 【MariaDB】MariaDB的复制

    GTID的说明 官网:https://mariadb.com/kb/en/mariadb/global-transaction-id/ 官网:http://dev.mysql.com/doc/refm ...

  2. 数学对象Math ceil()、floor()、round()方法

      Math.ceil()   功能:对一个数进行上取整. 语法:Math.ceil(x) 参数: x:一个数值. 返回值:返回大于或等于x,并且与之最接近的整数. 注:如果x是正数,则把小数“入”: ...

  3. hbase查询,scan详解

    一.shell 查询 hbase 查询相当简单,提供了get和scan两种方式,也不存在多表联合查询的问题.复杂查询需通过hive创建相应外部表,用sql语句自动生成mapreduce进行.但是这种简 ...

  4. s3c6410_MMU地址映射过程详述

    参考: 1)<ARM1176 JZF-S Technical Reference Manual>: Chapter 3 System Control Coprocessor Chapter ...

  5. win7如何设置某个软件不弹出用户账户控制

    手动修改注册表: 在 HKEY_CURRENT_USERS\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers 键下面 ...

  6. 遍历List/Map的时候删除成员遇到的奇怪问题

    1.for each删除成员 List<String> list = new LinkedList<String>(); list.add("a"); li ...

  7. LevelDB源码之四LOG文件

    “LOG文件在LevelDb中的主要作用是系统故障恢复时,能够保证不会丢失数据.因为在将记录写入内存的Memtable之前,会先写入Log文件,这样即使系统发生故障,Memtable中的数据没有来得及 ...

  8. mysql列属性auto(mysql笔记四)

    常见的的是一个字段不为null存在默认值 没值得时候才去找默认值,可以插入一个null到 可以为null的行里 主键:可以唯一标识某条记录的字段或者字段的集合 主键设置 主键不可为null,声明时自动 ...

  9. DevExpress 重编译 替换强命名 修改源码

    本文以DevExpress 11.1.8举例 必须满足几个条件 1. 必须有DXperience相应版本的全部源代码SourceCode.把全部源代码复制到X:\Program Files\DevEx ...

  10. Delphi的"Invalid pointer operation"异常的解决办法

    今天用Delphi编写了个dll,用到了TStringList来传递多参数,如下: [delphi] view plaincopy 01.function DBM_SetParam(procName: ...