UIWebview的使用心得

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

这里面的参数是textfield传进来的。

- (void)loadWebPageWithString:(NSString*)urlString

{

NSURL *url =[NSURLURLWithString:urlString];

NSLog(urlString);

NSURLRequest *request =[NSURLRequestrequestWithURL:url];

[webView loadRequest:request];

}

1.1设置三个控件textfield button uiwebview

1.2如图:图就算了,半天传不上来,uiwebview在下面就行了,看着舒服就行,随便放。

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

@interfaceUIWebViewDemoViewController

:UIViewController {

IBOutletUIWebView *webView;

IBOutletUITextField *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];

}

UIWebView主要有下面几个委托方法:(这三个委托方法应该是自带的吧?以后用xcode查清楚???)

1、- (void)webViewDidStartLoad:(UIWebView *)webView;开始加载的时候执行该方法。

2、-(void)webViewDidFinishLoad:(UIWebView *)webView;加载完成的时候执行该方法。

3、-(void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error;加载出错的时候执行该方法。

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

- (void)webViewDidStartLoad:(UIWebView *)webView

{

[activityIndicatorViewstartAnimating] ;

}

- (void)webViewDidFinishLoad:(UIWebView *)webView

{

[activityIndicatorViewstopAnimating];

}

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


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • iOS开发系列--网络开发 概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博、微信等,这些应用本身可...
    lichengjin阅读 3,705评论 2 7
  • http://www.cnblogs.com/mddblog/p/5281748.html 一、整体介绍 UIWe...
    F麦子阅读 1,250评论 0 2
  • IOS之UIWebView的使用 刚接触IOS开发1年多,现在对于 混合式 移动端开发越来越流行,因为开发成本上、...
    学无止境666阅读 45,820评论 5 53
  • OS之UIWebView的使用 刚接触IOS开发1年多,现在对于 混合式 移动端开发越来越流行,因为开发成本上、速...
    知之未道阅读 1,667评论 0 4
  • 人生如戏唱大戏, 说学逗唱是自己, 场景幕幕似相同, 缤纷人生戏不同, 哪来排编与练习, 却是开始与成功, 不停积...
    A把时间当做朋友阅读 136评论 0 1