(转)UIWebView的基本用法,适合新手

简介:

UIWebView是iOS sdk中一个最常用的控件。是内置的浏览器控件,我们可以用它来浏览网页、打开文档等等。这篇文章我将使用这个控件,做一个简易的浏览器。如下图:

我们创建一个Window-based Application程序命名为:UIWebViewDemo

UIWebView的loadRequest可以用来加载一个url地址,它需要一个NSURLRequest参数。我们定义一个方法用来加载url。在UIWebViewDemoViewController中定义下面方法:

复制代码
- (void)loadWebPageWithString:(NSString*)urlString
{
NSURL
*url =[NSURL URLWithString:urlString];
NSLog(urlString);
NSURLRequest
*request =[NSURLRequest requestWithURL:url];
[webView loadRequest:request];
}
复制代码

在界面上放置3个控件,一个textfield、一个button、一个uiwebview,布局如下:

在代码中定义相关的控件:webView用于展示网页、textField用于地址栏、activityIndicatorView用于加载的动画、buttonPress用于按钮的点击事件。

@interface  UIWebViewDemoViewController :UIViewController<UIWebViewDelegate> {   
     IBOutlet  UIWebView *webView;
     IBOutlet  UITextField *textField;
     UIActivityIndicatorView *activityIndicatorView;
     
}
- ( IBAction )buttonPress:( id ) sender;
- ( void )loadWebPageWithString:( NSString *)urlString;
@end

使用IB关联他们。

设置UIWebView,初始化UIActivityIndicatorView:

复制代码
- (void)viewDidLoad
{
[super viewDidLoad];
webView.scalesPageToFit
=YES;
webView.
delegate=self;
activityIndicatorView
= [[UIActivityIndicatorView alloc]
initWithFrame : CGRectMake(
0.0f, 0.0f, 32.0f, 32.0f)] ;
[activityIndicatorView setCenter: self.view.center] ;
[activityIndicatorView setActivityIndicatorViewStyle: UIActivityIndicatorViewStyleWhite] ;
[self.view addSubview : activityIndicatorView] ;
[self buttonPress:nil];
// Do any additional setup after loading the view from its nib.
}
复制代码

UIWebView主要有下面几个委托方法:

1、- (void)webViewDidStartLoad:(UIWebView *)webView;开始加载的时候执行该方法。
2、- (void)webViewDidFinishLoad:(UIWebView *)webView;加载完成的时候执行该方法。
3、- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error;加载出错的时候执行该方法。

我们可以将activityIndicatorView放置到前面两个委托方法中。

复制代码
- (void)webViewDidStartLoad:(UIWebView *)webView
{
[activityIndicatorView startAnimating] ;
}
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
[activityIndicatorView stopAnimating];
}
复制代码

buttonPress方法很简单,调用我们开始定义好的loadWebPageWithString方法就行了:

- ( IBAction )buttonPress:( id ) sender
{
     [textField resignFirstResponder];
     [ self  loadWebPageWithString:textField.text];
     
}

当请求页面出现错误的时候,我们给予提示:

- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
{
    UIAlertView *alterview = [[UIAlertView alloc] initWithTitle:@"" message:[error localizedDescription]  delegate:nil cancelButtonTitle:nil otherButtonTitles:@"OK", nil];
    [alterview show];
    [alterview release];
}
本文转自编程小翁博客园博客,原文链接:http://www.cnblogs.com/wengzilin/archive/2012/03/15/2397445.html,如需转载请自行联系原作者
相关文章
|
5月前
|
监控
一篇文章讲明白iosavplayer视频播放器
一篇文章讲明白iosavplayer视频播放器
27 0
|
6月前
|
前端开发 JavaScript
使用canvas实现代码雨高级升阶版【附带源码和使用方法】
使用canvas实现代码雨高级升阶版【附带源码和使用方法】
57 0
|
编解码 人工智能 计算机视觉
一段蛋疼的代码:超不清视频播放器
一幅图像全部转成字符序列后,就可以直接在控制台输出了。对于一个视频来说,只需要将每一帧都转换后输出,并按照一定的时间间隔清屏、输出下一帧,即可达到我们的需要的效果。
|
移动开发 数据可视化 JavaScript
谈一谈|小白如何使用egret
谈一谈|小白如何使用egret
243 0
|
JavaScript 前端开发
【Axure教程】调用b站视频播放器
【Axure教程】调用b站视频播放器
【Axure教程】调用b站视频播放器
|
Web App开发 前端开发 JavaScript
自己平常开发常用的jq方法
小技巧/代码片段,可以帮你快速开发.
1129 0
|
PHP
WordPress调用置顶文章代码教程
WordPress调用置顶文章是常用的调用代码,码笔记分享WordPress调用置顶文章代码: WP调用置顶文章代码 以下代码为调用5篇置顶文章: <?php $sticky = get_option('sticky_posts'); rsort( $sticky ); $sticky = arr...
1042 0
|
C#
wpfのuri(让你完全明白wpf的图片加载方式以及URI写法)
原文:wpfのuri(让你完全明白wpf的图片加载方式以及URI写法) 绝对 pack WPF URI pack://application:,,,/是协议;“,,,”是“///”的变体 1.资源文件 — 本地程序集 Uri uri = new Uri("pack://application:,,,/ResourceFile.
1860 0
|
测试技术
DoTween用法教程
DoTween用法攻略 本文提供全流程,中文翻译。 Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例) Chinar —— 心分享、...
3227 0
|
前端开发 JavaScript Android开发