UIWebView的使用,简单浏览器的实现
2015-06-26 11:28
525 查看
#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
@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
相关文章推荐
- HTML 5 --- 移动端viewport:
- android 欢迎界面的淡入效果
- Android gpio口在sys_comfig中的参数意义
- Android布局文件夹引起的问题
- [教程技巧] 没有C语言和Objective-C基础 如何快速学习iOS开发
- ORA-12519, TNS:no appropriate service handler found
- iOS设计模式之单例模式
- iOS蓝牙篇 GameKit,在iOS7.0之前的设备上的主流开发(必须是同一个应用程序),现已过时,仅用于学习
- iOS关于横屏window坐标的问题
- [教程技巧] 简析Swift和C的交互
- Android系统内置应用更新或升级后被还原的原因
- cocos2dx3.x lua绑定
- 通过浏览器直接打开Android应用程序
- 微信页面登录授权和分享那些事
- iOS 页面间几种传值方式(属性,代理,block,单例,通知)
- 《Android安全机制解析与应用实践》笔记 第2章
- 调用ios系统生成二维码
- Android APP通用型拒绝服务、漏洞分析报告
- Swift函数
- Android.mk文件解读