基于手机 网络环境问题 在UIWebView控件使用的时候,程序习惯添加UIActivityIndicatorView用以控制UIWebview的加载等待,在等待的时间内用户不允许操作,所以我们还要在当前的UIWebview上添加一个透明的view(opaqueview)用以防止用户点击,然后把 UIActivityIndicatorView添加到我们自己定义的view(opaqueview)上。这样当网页加载开始的时候我们把 UIActivityIndicatorView打开,当网页加载完毕的时候我们可以取消UIActivityIndicatorView,从而实现了对 UIWebView的加载等待。
一.UIWebView加载的时候通常有几种方法
1.loadRequest:
2.loadHTMLString:string baseURL:
3.loadData:MIMEType:textEncodingName:baseURL:
其中baseURL 是指基准的url 是一个绝对的地址,程序要用到的其他资源就可以根据这个基准地址进行查找而不用再次定位到绝对地址;
二.UIWebView中几个重要的函数
1.- (void )webViewDidStartLoad:(UIWebView *)webView 网页开始加载的时候调用
2.- (void )webViewDidFinishLoad:(UIWebView *)webView 网页加载完成的时候调用
3.-(BOOL )webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType )navigationType
当程序以UIWebView加载方式1进行加载的时候就会调用到此函数,然后执行webViewDidStartLoad函数,所以我们可以在此函数中进行一些请求解析,URL地址分析的工作。
4.- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
是一个可选的函数,如果页面加载失败可以根据不同的错误类型反馈给用户不同的信息
三.代码实现
1.在.h文件中加载声明UIWebviewDelegate协议
声明WebView
2.实现UIWebView
WebView = [[ UIWebView alloc] initWithFrame: CGRectMake(x,x,x,x )];
[ WebView setUserInteractionEnabled: YES ]; //是否支持交互
[ WebView setDelegate: self ]; //委托
[ WebView setOpaque: NO ]; //透明
[ self . view addSubview : WebView]; //加载到自己的view
url = [[ NSURL alloc ] initWithString :@"http:"];
[ WebView loadRequest:[ NSURLRequest requestWithURL: url ]]; //笔者习惯采用loadRequest方式,你可以采用其他方式
opaqueview = [[ UIView alloc] initWithFrame: CGRectMake(x , x , x , x )]; //opaqueview 需要在.h文件中进行声明 用以做UIActivityIndicatorView的容器view;
activityIndicator = [[ UIActivityIndicatorView alloc] initWithFrame: CGRectMake( x , x , x , x )];//需要在.h文件中进行声明
[ activityIndicator setCenter : opaqueview. center ];
[ activityIndicator setActivityIndicatorViewStyle: UIActivityIndicatorViewStyleWhite]; //颜色根据不同的界面自己调整
[ opaqueview setBackgroundColor:[ UIColor blackColor]];
[ opaqueview setAlpha: 0.6 ];
[ self . view addSubview : opaqueview];
[ opaqueview addSubview : activityIndicator];
接下来添加
- (void )webViewDidFinishLoad:(UIWebView *)webView {
[activityIndicator stopAnimating];
opaqueview.hidden = YES ;
}
- (void )webViewDidStartLoad:(UIWebView *)webView {
[ activityIndicator startAnimating ];
opaqueview.hidden = NO ;
}
这样就简单的实现了UIWebView控件的加载使用,不同的页面均有加载的等待。
分享到:
相关推荐
然而,随着Apple对App Store审核政策的调整,使用UIWebView的App将不再被接受,因为Apple已经将其列为弃用API。在2020年,Apple明确表示,自2020年12月起,所有新提交的App和更新都必须移除UIWebView的使用,转而...
在iOS开发中,UIWebView是苹果提供的一种原生控件,用于展示网页内容。它可以加载HTML、CSS和JavaScript代码,并且支持与JavaScript进行交互,从而实现原生应用和Web内容的融合。本教程将深入探讨UIWebView与...
在iOS开发中,UIWebView是苹果提供的一种原生控件,用于展示网页内容。这个话题“UIWebView+html+css”主要关注如何在UIWebView中嵌入HTML和CSS,实现可点击的链接以及显示动态的GIF动画效果。下面将详细讲解这个...
在iOS开发中,UIWebView是苹果提供的一种原生控件,用于展示网页内容。它可以加载HTML、CSS和JavaScript代码,并且具有与Objective-C(OC)代码进行交互的能力。本项目"UIWebView和js交互demo1"就是展示了如何利用...
在iOS应用开发中,UIWebView是一个非常重要的组件,它允许开发者在应用程序内嵌入网页内容,实现网页浏览功能。这个示例程序是针对iPhone平台,旨在帮助开发者理解如何有效地使用UIWebView来展示网页数据。通过这个...
在iOS开发中,UIWebView是苹果提供的一种原生控件,用于在应用内展示网页内容。这个"UIWebView与javascript的交互"的标题暗示了我们正在探讨如何在iOS应用中利用UIWebView与嵌入的HTML页面进行双向通信,即通过...
在iOS开发中,UIWebView是苹果提供的一种组件,用于在应用程序中展示网页内容。它不仅可以加载HTML页面,还可以执行JavaScript代码,甚至与原生代码进行交互。这种交互性使得开发者可以利用HTML、CSS和JavaScript的...
在iOS开发中,UIWebView是苹果提供的一种原生控件,用于展示网页内容。它可以加载HTML、CSS和JavaScript代码,并且支持与Objective-C代码进行交互,实现App与Web页面的深度融合。本示例将深入探讨如何通过UIWebView...
在iOS开发中,UIWebView是苹果提供的一种用于在应用程序中展示网页内容的组件。它可以加载远程HTML内容,也可以处理本地的HTML文件。然而,当我们要在UIWebView中加载本地图片时,就需要对这个过程做一些特别的处理...
之前提到UIWebView使用一个UIScrollView对象来关联web页面的内容,通过UIWebView的scrollView属性即可获得该对象,默认情况下网页长度超出设备视口长度后页面会滚动,用户使用手指滚动页面到页面边距并放开手指后...
在iOS开发中,UIWebView是苹果提供的一种组件,用于在应用程序内部展示网页内容。这篇教程“UIWebView与javascript的交互三”聚焦于如何利用UIWebView实现Objective-C(OC)代码与嵌入的HTML页面之间的数据交换,这...
在iOS开发中,UIWebView是苹果提供的一种用于加载和展示网页内容的组件。然而,UIWebView在加载网页的过程中,没有内置的loading提示效果,这可能导致用户在等待网页加载时感到困惑或不耐烦。因此,自定义一个加载...
标题"(OC)(UIWebView)新闻详情.zip"表明这是一个关于Objective-C(简称OC)编程语言中,使用UIWebView控件来实现新闻详情展示的项目或代码示例。UIWebView是iOS开发中常见的一种组件,它允许开发者在应用内加载网页...
在iOS开发中,UIWebView是苹果提供的一种用于在应用程序中展示网页内容的组件。它不仅能够加载HTML页面,还支持JavaScript执行,使得iOS应用与网页内容之间可以进行交互。本篇将深入探讨UIWebView与JavaScript的交互...
这篇教程将详细介绍如何在Objective-C中实现“获取UIWebView里的图片”的操作。 首先,我们要明白UIWebView与JavaScript的交互机制。UIWebView提供了一个名为`stringByEvaluatingJavaScriptFromString:`的方法,...
【标题】:“IOS UIWebView Demo”是一个iOS应用开发中的实例,它主要展示了如何在iOS应用中集成和使用UIWebView组件来加载和展示网页内容。UIWebView是Apple iOS SDK提供的一种原生控件,用于在iOS应用程序内部显示...
**UIWebViewDemo** 是一个基于iOS开发的示例项目,主要展示了如何在应用程序中使用`UIWebView`组件来加载和展示网页内容。`UIWebView`是Apple提供的原生控件,它允许iOS开发者在应用内嵌入网页浏览功能,使得用户...
在iOS开发中,UIWebView是苹果提供的一种用于在应用程序内展示网页内容的组件。它允许开发者在App中嵌入HTML、CSS和JavaScript代码,从而实现丰富的交互性。然而,随着技术的发展,苹果在iOS 8中引入了WKWebView,...
当需要在应用中实现图文混排时,UIWebView是一个非常实用的选择,因为它能够轻松地将文字和图片结合在一起显示。本篇文章将详细探讨如何利用UIWebView来实现这一功能。 首先,我们需要理解图文混排的基本概念。图文...
但是,UIWebView本身并不支持直接加载本地资源。为了实现这一需求,文中提出了通过URL拦截的方法来解决。 首先,我们需要了解iOS中的URL Loading System,这是一个系统级别的网络请求框架,UIWebView正是利用这个...