iOS网络篇3-利用UIWebView做一个浏览器功能

在UIkit中,苹果封装了一个特别好用的控件UIWebView能够实现简单的网页加载和文件加载

一、加载网页资源

1.首先新建一个singleView项目,在storyboard拖如下控件

2.设置相关属性连接如下

3.在ViewController.m里的类扩展遵守UISearchBarDelegate和UIWebViewDelegate

@interface ViewController () <UISearchBarDelegate,UIWebViewDelegate>

/**网页展示*/
@property (weak, nonatomic) IBOutlet UIWebView *webView;

@end

4.在ViewController.m里抽出一个方法,用于浏览器加载指定的字符串

// 让浏览器加载指定的字符串
- (void)loadString:(NSString *)str
{
     NSString *urlStr = str;
    //1.判断资源路径是否以http://开头
    if (![str hasPrefix:@"http://"]) {//不是以http://开头
        //资源通过百度搜索
        urlStr = [NSString stringWithFormat:@"http://m.baidu.com/s?word=%@", str];
    }
    //3.创建URL
    NSURL *url = [NSURL URLWithString:urlStr];

    //4.创建请求
    NSURLRequest *request = [NSURLRequest requestWithURL:url];

    //5.加载请求
    [self.webView loadRequest:request];
}

5.当搜索框输入文字完毕后点击确定(返回)按钮,会调用searchBarSearchButtonClicked:(UISearchBar *)searchBar代理方法

#pragma mark - 搜索栏点击搜索按钮后调用
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
{
    //加载指定资源
    [self loadString:searchBar.text];
    //退出键盘
    [self.view endEditing:YES];
}

6.如果想首页显示百度页面,直接在viewDidLoad方法里加载百度首页

- (void)viewDidLoad
{
    [super viewDidLoad];

    [self loadString:@"http://m.baidu.com"];

}

7.实现浏览器的前进后退功能

在UIWebView控件内部已经实现了前进和后退功能,我们只需和底部工具条前进后退按钮进行相关连即可,在storyboard中进行如下处理

8.实现UIWebView的代理方法,控制前进后退是否能被点击,这里不要忘记在类扩展拥有这两个属性

@interface ViewController () <UISearchBarDelegate,UIWebViewDelegate>

/**网页展示*/
@property (weak, nonatomic) IBOutlet UIWebView *webView;

/**后退*/
@property (weak, nonatomic) IBOutlet UIBarButtonItem *back;
/**前进*/
@property (weak, nonatomic) IBOutlet UIBarButtonItem *forward;

@end
#pragma mark - UIWebView代理方法
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
    self.back.enabled = self.webView.canGoBack;
    self.forward.enabled = self.webView.canGoForward;
}

OK,UIWebView的简单加载网页使用,利用UIWebView还可以加载Bundle资源,也简单易学,这里就不详细阐述了。

时间: 2024-10-29 02:53:58

iOS网络篇3-利用UIWebView做一个浏览器功能的相关文章

利用滤镜做一个太阳

这篇文章主要给大家讲解的是如何利用滤镜做一个太阳,只需要照着本教程操作一遍,你就可以做出一样的效果,想学的朋友一起来看看吧.

应该怎么做一个登录功能?

版权是我的,转载没有通过我的同意的爬虫都是傻逼. 假设有user表.里面有id,acount(账户,nvarchar(50)),pwd(密码,nvarchar(50)). 最简单的实现 渣渣说做个登录功能,那还不简单. select * from user where  acount=XX AND PWD =YY; 然而,某天,我们需要在登录的时候更新最后登录时间,也就是在user表里面加个lastLoginTime. 这时渣渣说 select id from user wher acount=

做一个浏览器上的Excel(一)

本文旨在讲述一个控件的开发流水账式的故事,下图是本文所要讲述的表格控件的运行截图: 今天(2015.3.16)是这个插件正式停止开发一周年纪念日,于是我决定写一篇文章悼念一下. 按照惯例,我把这回讲的程序放了在runjs上:http://runjs.cn/detail/gcdxdyct. 这个表格具有比较完整的编辑功能,包括生成下拉框.日期控件.像excel那样子通过鼠标拖动批量选择.批量编辑.通过拖表自动生成数据.与excel互相复制粘贴.导入导出xlsx等,但是已经没有使用的需求了,所以就停

图文详解-如何用Axure做一个倒计时功能按钮

本篇主要给大家讲一下如何用Axure巧妙简单的实现一个倒计时功能. demo地址: http://pan.baidu.com/s/1jI4IRzC 密码: 8ghd 需要更详细学习的同学可以看下面文章.偷懒的同学可以直接在demo里复制出想要的部分即可使用了. 1.把主要元素进行排版设计: 这里每个人有每个人的习惯,没有一个标准,只是将主要元素进行组织后加以排版.大家发现并没有获取验证码按钮,这是我们的关键.下一步开始进行添加 2.添加一个Dynamic Panel(动态面板)命名为getCod

利用UIWebView打造一个炫酷的视频背景视图(OC &amp; Swift)

http://www.cocoachina.com/ios/20151023/13860.html 2015-10-6更新:适配 Swift2.0 如有需要,可以通过[email protected]发私信或联系我. 注:使用GIF动态图片只是一种可行的方式达到该效果,并非唯一解决方案.我个人更倾向于通过视频播放器的方式来实现视频背景效果,然而通过GIF图片仍然是一个可行的选项.实施步骤直接跳转到下面的"工作前准备". 如果你使用过iOS版本的Spotify ,你会注意到在这款应用的新

iOS网络篇2-http协议通信规则

超文本传送协议 (HTTP-Hypertext transfer protocol) 定义了客户端与服务器之间通信的传输规则.目前最新的版本是1.1,HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型. 一.特点: 1.支持客户/服务器模式.支持基本认证 和安全认证. 2. 简单快速:客户向服务器请求服务时,只需传送请求方法和路径.请求方法常用的有GET.HEAD.POST.每种方法规定了客户与服务器联系的类型不同.由于HTTP协议简单,使得HTTP服务器的程序规模小,因而

IOS网络篇1之截取本地URL请求(NSURLProtocol)

本文转载至 http://blog.csdn.net/u014011807/article/details/39894247 NSURLProtocol 是iOS中非常重要的一个部分,我们经常会在以下地方用到它: (1)网络请求代理转发(FQ 网络加速等) (2)离线缓存策略 总之,只要是需要对本地的URL请求进行截获的,我们都需要使用这个东东. IOS中我们经常使用的网络请求NSURLConnection以及WebView的页面加载都会被NSURLProtocol截获,因此这个部分的核心就是如

绕过010Editor网络验证(用python做一个仿真http server真容易,就几行代码)

010Editor是一款非常强大的十六进制编辑器,尤其是它的模板功能在分析文件格式时相当好用!网上现在也有不少010Editor的破解版,如果没钱或者舍不得花钱买授权的话,去官方下载安装包再使用注册机算号是一个比较安全的选择.不过010Editor是有网络验证功能的,可以在本地架一个HTTP服务器来绕过这个验证(网上也能找到通过修改注册表绕过的方法,没有验证).使用Python的BaseHTTPServer模块就可以实现这个功能(继承BaseHTTPRequestHandler并重写do_GET

iOS网络篇1-简单搭建Apache服务器

不管是任何移动应用,为了保持生命力必须和网络进行数据反馈,为了便于开发,这里简单实现如何在mac上本地搭建用于开发测试的服务器. web服务器主要功能是提供网上信息浏览服务,服务器是一种被动程序,只有当客户端发出请求时才会作出响应, 最常用的Web服务器是Apache和Microsoft的Internet信息服务器IIS,其实说白了web服务器就是一台在Internet上具有独立IP地址的计算机,同时也指管理服务器的程序. 一.搭建目标: 1>搭建Apache服务器 2>支持PHP脚本语言 首