UIWebView的使用,简单浏览器的实现
#import "ViewController.h"
@interface ViewController () <UIWebViewDelegate>
@property(nonatomic,weak)UIWebView* web;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
[self _setTextField];
[self _loadWebView];
}
#pragma mark - 设置输入框
- (void)_setTextField{
self.tf.clearButtonMode=UITextFieldViewModeWhileEditing;
}
#pragma mark - 载入WebView
- (void)_loadWebView{
UIWebView* web=[[UIWebView alloc] init];
web.frame=CGRectMake(0,self.view.frame.size.height,self.view.frame.size.width,self.view.frame.size.height-42 );
self.web=web;
web.delegate=self;
[self.view addSubview:web];
}
#pragma mark - 放弃第一响应
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
[self.tf resignFirstResponder];
}
#pragma mark - Action
- (IBAction)backAction:(id)sender {
[self.web goBack];
// self.web.frame=CGRectMake(0,self.view.frame.size.height,self.view.frame.size.width,self.view.frame.size.height-42 );
}
- (IBAction)forwardAction:(id)sender {
[self.web goForward];
self.web.frame=CGRectMake(0,20,self.view.frame.size.width,self.view.frame.size.height-50);
}
- (IBAction)undoAction:(id)sender {
[self.web stopLoading];
}
- (IBAction)refreshAction:(id)sender {
[self.web reload];
}
- (IBAction)searchAction:(id)sender {
[self.tf resignFirstResponder];
self.web.frame=CGRectMake(0,20,self.view.frame.size.width,self.view.frame.size.height-60);
[self _sendRequest];
}
#pragma mark - UIWebViewDelegate
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{
return YES;
}
- (void)webViewDidStartLoad:(UIWebView *)webView{
}
- (void)webViewDidFinishLoad:(UIWebView *)webView{
// NSLog(@"%d===%d",[webView canGoBack],[webView canGoForward]);
self.backBt.enabled=[webView canGoBack];
self.forwardBt.enabled=[webView canGoForward];
self.refresh.enabled=([webView canGoBack] ||[webView canGoForward]);
}
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error{
NSLog(@"%@",error);
}
- (void)_sendRequest{
//http://www.baidu.com
NSURL* url=[NSURL URLWithString:self.tf.text];
NSURLRequest* request=[NSURLRequest requestWithURL:url];
[self.web loadRequest:request];
}
@end
UIWebView的使用,简单浏览器的实现的更多相关文章
- 基于Gecko内核的简单浏览器实现
分享一个基于Gecko内核的简单浏览器实现过程. 项目需要需要开发一个简单浏览器,由于被访问的网页中有大量Apng做的动画,使用IE内核的webbrowser不能播放,使用基于WebKit和Cefsh ...
- IOS开发-UI学习-UIWebView,简单浏览器的制作
制作一个简单的浏览器,包含网址输入框,Search按钮,前进.回退按钮,UIWebView就这几个简单的控件. UITextField:用来输入网址: UIbuttom:实现前进,后退,搜索等功能: ...
- 爬虫技术 -- 进阶学习(八)模拟简单浏览器(附c#代码)
由于最近在做毕业设计,需要用到一些简单的浏览器功能,于是学习了一下,顺便写篇博客~~大牛请勿喷,菜鸟练练手~ 实现界面如下:(简单朴素版@_@||) button_go实现如下: private vo ...
- 爬虫技术(五)-- 模拟简单浏览器(附c#代码)
由于最近在做毕业设计,需要用到一些简单的浏览器功能,于是学习了一下,顺便写篇博客~~大牛请勿喷,菜鸟练练手~ 实现界面如下:(简单朴素版@_@||) button_go实现如下: private vo ...
- C# 网络编程之最简单浏览器实现
最近学习C#网络编程的HTTP协议编程,HTTP即Hypertext Transfer Protocol的缩写,意为:超文本传输协议. 其中与HTTP相关的知识主要有六个类的知识,分别是 (1).Ht ...
- 在 .NET 中开发基于 Chrome 内核的浏览器-创建一个简单浏览器
首先在 http://www.cftea.com/tools/downloads/Cef.zip 下载文件包. 一.将文件解压拖入到 Visual Studio 对应的 WinForm 项目中. 二. ...
- 001 - 使用鸿蒙WebView创建简单浏览器 step 1
打开官网,找到WebView的文档(模拟器不支持) 鸿蒙webview的开发指南(原始链接,方便大家识别并点击):https://developer.harmonyos.com/cn/docs/doc ...
- python3使用pyqt5制作一个超简单浏览器
我们使用的是QWebview模块,这里也主要是展示下QWebview的用法. 之前在网上找了半天的解析网页的内容,都不是很清楚. 这是核心代码: webview = Qwebview() webvie ...
- [flex] as3.0 实现基于air的简单浏览器
<?xml version="1.0" encoding="utf-8"?> <s:WindowedApplication xmlns:fx= ...
随机推荐
- C#调用Geocoding API进行地理编码与逆编码
使用C#调用Geocoding API来将地址转为经纬度,或者将经纬度转变为具体的地址. Geocoding API的详细介绍参见:http://developer.baidu.com/map/web ...
- MySQL索引的查看创建和删除
1.索引作用 在索引列上,除了上面提到的有序查找之外,数据库利用各种各样的快速定位技术,能够大大提高查询效率.特别是当数据量非常大,查询涉及多个表时,使用索引往往能使查询速度加快成千上万倍. 例如,有 ...
- POJ 3436 ACM Computer Factory (拆点+输出解)
[题意]每台计算机由P个零件组成,工厂里有n台机器,每台机器针对P个零件有不同的输入输出规格,现在给出每台机器每小时的产量,问如何建立流水线(连接各机器)使得每小时生产的计算机最多. 网络流的建图真的 ...
- shell 全局和局部变量
/******************************************************************** * shell 全局和局部变量 * 声明: * 到目前为止, ...
- 【转】使用NDK生成native C/C++的可执行程序
原文网址:http://www.linuxidc.com/Linux/2011-08/40901.htm 众所周知, NDK可以生成lib,让java程序通过jni来调用,其实,NDK也可以生成C/C ...
- 学习面试题Day05
1.如何理解数组在Java中作为一个类? Java的数组本质上是一个类,该类还保存了数据类型的信息.该类通过成员变量的形式来保存数据,并且通过[]符号,使用下标来访问这些数据.在处理基本类型数据时,数 ...
- 【转】Eclipse配置Struts2问题:ClassNotFoundException: org...dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
我的解决方案 一开始,我是依照某本教材,配置了User Libraries(名为struts-2.2.3, 可供多个项目多次使用), 然后直接把struts-2.2.3引入过来(这个包不会真正的放在项 ...
- LINQ之路系列
Life a Poem http://www.cnblogs.com/lifepoem/archive/2011/11/22/2258830.html
- Selenium2Library中的Get Alert Message
今天在处理页面的弹出框(alert)时,发现Get Alert Message 并不如字面意思这么简单 函数说明如下: 很明了:(1)返回alert 的text (2)如果没有alert,则该keyw ...
- 动态加载JS(css)文件
<script language="javascript">document.write("<script src='test.js'><\ ...