iOS - UIWebView用法

原创 2015年07月09日 10:00:14

首先创建UIWebView,这个不难,设置frame,然后添加到self.view上即可:

UIWebView *webView = [[UIWebView alloc] initWithFrame:self.view.bounds];
webView.scalesPageToFit = YES;//自动对页面进行缩放以适应屏幕
[self.view addSubview:webView];

UIWebView加载网络地址

用UIWebView来加载网络地址,那我的博客:http://blog.csdn.net/dylan_lwb_ 来举例。代码如下:

NSURLRequest *request =[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://blog.csdn.net/dylan_lwb_"]];
[self.view addSubview:webView];
[webView loadRequest:request];

UIWebView加载本地资源

通过NSURLRequest加载

NSString *path = [[NSBundle mainBundle] pathForResource:@"swift" ofType:@"html"];
NSURL* url = [NSURL   fileURLWithPath:path];//创建URL
NSURLRequest* request = [NSURLRequest requestWithURL:url];//创建NSURLRequest
[webView loadRequest:request];//加载

通过NSString加载

UIWebView 还支持将一个NSString对象作为源来加载。你可以为其提供一个基础URL,来指导UIWebView对象如何跟随链接和加载远程资源:

NSString *path = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"];
NSString *htmlString = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
[webView loadHTMLString:htmlString baseURL:[NSURL URLWithString:path]];

自动检测电话

设置这个属性,如果在加载的网页中遇到电话号码,直接单击就可以拨打,非常方便:

webView.dataDetectorTypes = UIDataDetectorTypePhoneNumber;//自动检测网页上的电话号码,单击可以拨打

设置代理和代理方法

UIWebView有五个代理方法,我们可以在不同的代理方法中,完成不同的需求。

//设置代理
webView.delegate = self;

//代理方法
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
    //返回YES,进行加载。通过UIWebViewNavigationType可以得到请求发起的原因
    return YES;
}

- (void)webViewDidStartLoad:(UIWebView *)webView
{
    //开始加载,可以加上风火轮(也叫菊花)
}

- (void)webViewDidFinishLoad:(UIWebView *)webView
{
    //完成加载
}

- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
{
    //加载出错
}

创建加载他、停止、后退、前进按钮

创建四个按钮,分别是加载按钮、停止按钮、返回按钮、前进按钮:

NSArray *array = [NSArray arrayWithObjects:@"加载",@"停止",@"返回",@"前进", nil];
    int far = (SCREEN.width - 200)/5;
    for (int i = 0; i < array.count; i++) {
        UIButton *button = [[UIButton alloc] init];
        button.frame = CGRectMake( (i + 1) * far + 50 * i, SCREEN.height - 60, 50, 40);
        button.tag = 200 + i;
        [button addTarget:self action:@selector(actionClick:) forControlEvents:UIControlEventTouchUpInside];
        [button setTitleColor:[UIColor blueColor] forState:UIControlStateNormal];
        [button setBackgroundColor:[UIColor orangeColor]];
        [button setTitle:array[i] forState:UIControlStateNormal];
        [self.view addSubview:button];
    }

前进后退

给四个按钮绑定事件,根据tag值来区分每一个点击事件:

- (void)actionClick:(UIButton *)button
{
    switch (button.tag) {
        case 200:
        {
            [self.webView reload];//加载
        }
            break;
        case 201:
        {
            [self.webView stopLoading];//停止加载
        }
            break;
        case 202:
        {
            [self.webView goBack];//返回
        }
            break;
        case 203:
        {
            [self.webView goForward];//前进
        }
            break;
        default:
            break;
    }
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

iOS-UIWebView的用法,js交互

对IOS开发中的UIWebView控件的基本使用进行初步的详解,提到了创建、设置属性、设置背景、怎么样加载网页内容等一系列的基础点,然后阐述使用UIWebView控件时常用用注意点,经常需要用到的地方...

iOS-69-WKWebview用法与UIWebview对比(附demo、PPT)

一、终于有时间写个博客了,一写就停不下来啊,资源上传不尽啊,最近一直忙着各种生活、工作的事情,现在再分享点小东西。本来想打算好好地写篇博客介绍下WKWebview的用法,但是我做了一个PPT,更方便和...
  • IOT_LI
  • IOT_LI
  • 2016年08月15日 21:44
  • 729

ios-UIWebView简易浏览器

  • 2015年10月15日 10:37
  • 50KB
  • 下载

IOS UIWebView Demo

  • 2012年06月25日 16:14
  • 26KB
  • 下载

UIWebView的一些用法总结

设置背景透明 设置webview的backgroundColor属性为[UIColor clearColor]; webView.backgroundColor = [UIColo...
  • xdonx
  • xdonx
  • 2013年08月23日 13:59
  • 1013

iOS-UIWebview缓存并保证实时性

  • 2017年05月17日 15:59
  • 5KB
  • 下载

UIWebView的一些用法总结

目录: 设置背景透明 加载本地HTML页面 移除滚动后的外边阴影 在Safari中打开链接地址 禁用页面滚动弹跳 scalesPageToFit属性 调用javascript代码 j...

IOS自定义请求uiwebview的loading框

  • 2015年10月19日 13:34
  • 2KB
  • 下载

UIwebView用法总结

目录:[ - ] 设置背景透明 加载本地HTML页面 移除滚动后的外边阴影 在Safari中打开链接地址 禁用页面滚动弹跳 scalesPageToFit属性 调用javasc...
  • DXLVWW
  • DXLVWW
  • 2017年07月20日 09:34
  • 96
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS - UIWebView用法
举报原因:
原因补充:

(最多只允许输入30个字)