iOS开发之UIWebView

转载 2012年03月27日 17:33:20

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];
}

总结:本文通过实现一个简单的浏览器,说明了uiwebview的方法和属性,相信通过这个例子,应该明白uiwebview的使用了。

代码:UIWebViewDemo.zip

作者:朱祁林
出处:http://zhuqil.cnblogs.com

iOS开发,UIWebview与H5之间的交互

将HTML页面加载到UIWebview控件中: A:本地加载: NSString *webPath = [[NSBundle  mainBundle]pathForResource:@“Hel...
  • sszTechnology
  • sszTechnology
  • 2016年05月26日 14:57
  • 2607

UIWebView - 使用方法总结

现在对于混合式移动端开发越来越流行,因为开发成本上、速度上都比传统的APP开发要好,混合式开发是传统模式与PC网页端相结合的模式。那么提到了 APP的混合模式开发,在Android开发中有WebVie...
  • CatStarXcode
  • CatStarXcode
  • 2016年04月21日 18:43
  • 2499

iPhone开发-点击UIWebView的链接地址时,更改链接地址

缘起 在开发的时候,有时会需要加载很多webview,当然webview的内容即可以是本地的html也可以是远端服务器的内容,随需求而选择需要用哪一种。 前两天因为开发的需要,需要将一个应用A,转...
  • zcl369369
  • zcl369369
  • 2014年10月19日 20:51
  • 9834

IOS开发 ☞ 禁用UIWebView的默认交互行为

UIKit提供UIWebView组件,允许开发者在App中嵌入Web页面。通过UIWebView组件,我们可以在应用中很方便的嵌入HTML页面。在利用IOS原生的组件进行界面开发时,界面UI元素的布局...
  • magicZYJ
  • magicZYJ
  • 2016年03月08日 15:02
  • 506

iOS开发之Xcode8推出的WKWebView与UIWebView的使用

一、整体介绍UIWebView自iOS2就有,WKWebView从iOS8才有,毫无疑问WKWebView将逐步取代笨重的UIWebView。通过简单的测试即可发现UIWebView占用过多内存,且内...
  • hbblzjy
  • hbblzjy
  • 2016年10月17日 11:39
  • 2999

iOS开发之UIWebView入门教程

iOS开发之UIWebView入门教程          UIWebView是iOS sdk中一个最常用的控件。是内置的浏览器控件,我们可以用它来浏览网页、打开文档等等。这篇文章我将使用这个控件,...
  • sunjianjun1981
  • sunjianjun1981
  • 2013年09月04日 11:23
  • 680

ios开发之改变UIWebView文本字体的样式和大小

1、UIWebView设置字体大小,颜色,字体:1、UIWebView设置字体大小,颜色,字体: UIWebView无法通过自身的属性设置字体的一些属性,只能通过html代码进行设置,代码如下:UI...
  • wudidalishi
  • wudidalishi
  • 2013年03月19日 15:53
  • 29333

iOS开发UIWebView缓存

最近做了UIWebView的缓存,用了两种方式去实现:第一种使用的是重写UIWebview的URlCache方法,在urlCache方法中请求网页数据,保存网页数据至本地磁盘。 使用RNCaching...
  • cjh16102377
  • cjh16102377
  • 2015年07月21日 09:16
  • 327

iOS开发-UIWebView加载方式

UIWebView  是用来加载加载网页数据的一个框。UIWebView可以用来加载pdf word doc 等等文件 生成webview 有两种方法,1、通过storyboard 拖拽 2、通...
  • yuanchunzi
  • yuanchunzi
  • 2015年07月10日 16:30
  • 324

iOS开发:UIWebView的使用

简介UIWebView用于在App中嵌入网页内容,通常情况下是html格式的网页,也支持pdf, word等文档。用法详解我们来做一个简单的UIWebView来实现浏览网页的功能。1、创建UIWebV...
  • DaMingShen
  • DaMingShen
  • 2015年08月28日 14:44
  • 249
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS开发之UIWebView
举报原因:
原因补充:

(最多只允许输入30个字)