34.UIWebView(做一个简易的浏览器)
2015-11-25 19:38
459 查看
UIWebView是iOS sdk中一个最常用的控件。是内置的浏览器控件,我们可以用它来浏览网页、打开文档等等。这篇文章我将使用这个控件,做一个简易的浏览器。
创建一个TextField和button 根据TextField输入的网址跳转网页
1.设置属性方便使用和遵守UIWebViewDelegate协议
@interface RootViewController ()< UIWebViewDelegate >
@property (nonatomic,retain)UITextField *textField;
@property (nonatomic,retain)UIWebView *webView;
2.创建一个TextField
self.textField = [[UITextField alloc] initWithFrame:CGRectMake(5, 25, 300, 50)];
self.textField.borderStyle = UITextBorderStyleRoundedRect;
[self.view addSubview:self.textField];
[_textField release];
1.创建一个Button
UIButton *goBtn = [UIButton buttonWithType:(UIButtonTypeCustom)];
goBtn.backgroundColor = [UIColor redColor];
goBtn.frame = CGRectMake(310, 25, 50, 50);
[goBtn setTitle:@”Go” forState:(UIControlStateNormal)];
[goBtn addTarget:self action:@selector(goBtn:) forControlEvents:(UIControlEventTouchUpInside)];
[self.view addSubview:goBtn];
self.webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 75, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height - 75)];
self.webView.backgroundColor = [UIColor cyanColor];
[self.view addSubview:self.webView];
[self.webView release];
NSURL *url = [NSURL URLWithString:@”http://www.baidu.com“];
NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url];
[self.webView loadRequest:request];
[request autorelease];
适配
self.webView.scalesPageToFit = YES;
self.webView.delegate = self;
// 中断请求 [self.webView stopLoading];实现点击方法
- (void)goBtn:(UIButton *)goBtn
{
NSString *text = self.textField.text;
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@”http://%@“,text]];
if (text != nil && self.webView.request.URL != url) {
NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url];
[self.webView loadRequest:request];
[request release];
}
}
==========================协议中的四种方法
加载完成的时候执行该方法
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
NSLog(@”已经完成导入”);
}
加载出错的时候执行该方法
- (void)webView:(UIWebView )webView didFailLoadWithError:(NSError )error
{
NSLog(@”请求失败”);
}
开始加载的时候执行该方法
- (void)webViewDidStartLoad:(UIWebView *)webView
{
NSLog(@”已经开始导入”);
}
- (BOOL)webView:(UIWebView )webView shouldStartLoadWithRequest:(NSURLRequest )request navigationType:(UIWebViewNavigationType)navigationType
{
NSLog(@”应该导入开始的请求”);
NSLog(@”%@”,request);
return YES;
}
相关文章推荐
- [Android学习笔记五] Android View和Widget类图
- Android Studio启动问题
- iOS开发笔记之三十一——日历NSCaledar使用过程中遇到的一个苹果系统bug
- [spark]Spark算子:RDD基本转换操作(5)–mapPartitions、mapPartitionsWithIndex
- Android之Handler用法总结
- Android SDK目录结构,android.jar及其内部结构
- 原生Base64编码/解码(OC与Swift)
- object-ui之动画雪花降落实现
- object-ui之动画雪花降落实现
- Android常见的Event-driven方案
- App技术框架
- ios开发——日常之iOS通知传值的使用
- 【Codeforces Round 333 (Div 2)B】【贪心 多指针】Approximating a Constant Range 给定数组 相邻元素波动为1 求差值不超1的最长序连续子序列
- Android APP 读取 AndroidManifest.xml 中的版本信息详解
- object-UI之基础动画
- object-UI之基础动画
- Android各种访问权限Permission
- 微信第三方平台推送verify_ticket的接收处理(PHP实现)
- ios 9.1以后 添加libz.dylib 方法
- android 开发进阶自定义控件 类似 TextView