- 浏览: 269384 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
jimode2013:
thanks
UIPanGestureRecognizer学习笔记 -
白色蜻蜓:
- (void) loadView { //opaquevie ...
UIWebView中使用UIActivityIndicatorView
基于手机 网络环境问题 在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. viewaddSubview: WebView]; //加载到自己的view url= [[NSURLalloc]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文件中进行声明 [ activityIndicatorsetCenter: opaqueview.center]; [activityIndicator setActivityIndicatorViewStyle: UIActivityIndicatorViewStyleWhite]; //颜色根据不同的界面自己调整 [opaqueview setBackgroundColor:[UIColor blackColor]]; [opaqueview setAlpha:0.6]; [self. viewaddSubview: opaqueview]; [opaqueview addSubview: activityIndicator]; 接下来添加 - (void )webViewDidFinishLoad:(UIWebView *)webView { [activityIndicator stopAnimating]; opaqueview.hidden = YES ; } - (void )webViewDidStartLoad:(UIWebView *)webView { [ activityIndicator startAnimating]; opaqueview.hidden = NO ; } 这样就简单的实现了UIWebView控件的加载使用,不同的页面均有加载的等待
评论
1 楼
白色蜻蜓
2012-05-04
- (void) loadView {
//opaqueview的初始化
NSLog(@"opaqueview和活动指示器开始初始化");
//self.opaqueview = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 640, 960)];
self.indicator = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(160, 230, 32, 32)];
//[self.indicator setCenter:self.opaqueview.center];
[self.indicator setActivityIndicatorViewStyle:UIActivityIndicatorViewStyleGray];
self.indicator.hidesWhenStopped = YES;
//[self.opaqueview setBackgroundColor:[UIColor clearColor]];
//[self.opaqueview setAlpha:1.0];
[self.navigationController.view addSubview:self.indicator];
//[self.opaqueview addSubview:self.indicator];
}
//opaqueview的初始化
NSLog(@"opaqueview和活动指示器开始初始化");
//self.opaqueview = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 640, 960)];
self.indicator = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(160, 230, 32, 32)];
//[self.indicator setCenter:self.opaqueview.center];
[self.indicator setActivityIndicatorViewStyle:UIActivityIndicatorViewStyleGray];
self.indicator.hidesWhenStopped = YES;
//[self.opaqueview setBackgroundColor:[UIColor clearColor]];
//[self.opaqueview setAlpha:1.0];
[self.navigationController.view addSubview:self.indicator];
//[self.opaqueview addSubview:self.indicator];
}
发表评论
-
EXC_BAD_ACCESS
2013-06-21 17:59 975EXC_BAD_ACCESS 这个错误,可以这么说,90%的 ... -
NSAssert
2013-06-08 09:55 996You can use NSAssert() to deb ... -
UIWebView中的图片用本地document目录中的
2013-04-28 14:34 0-(void)webViewDidStartLoad:(UI ... -
如何点击链接直接跳转到app store指定应用下载页面
2013-03-21 14:42 2818跳转到应用下载页面: NSString *str = [ ... -
ios面试题收集一(附基本答案)
2013-03-20 11:40 1489此份面试题包含40个题目,是现在网上能搜索到的一个比较热的一 ... -
IOS5.1.1完美越狱XCODE测试出现10004003的问题
2013-03-15 11:23 1146我的APP已经上线了,但是公司有几个越狱后IOS5.1.1 ... -
MKLocalSearch用法
2013-03-08 15:21 6839原文出处:http://phpadvocate.com/bl ... -
NSString-NSDate类型转换和CustomBar的总结
2012-12-21 09:53 1353如何将一个字符串@"2012-12-21" ... -
ios判断本地文件是否存在
2012-12-17 17:36 1195NSString *path = [[NSBundle ... -
UIWebView响应单机事件
2012-12-14 11:40 1166在UIViewController中,加入协议UIGes ... -
APP适配iphone5 and ihpone4
2012-12-09 13:22 2033首先加入Default-568@2x.png得开机图片 CG ... -
百度地图API(1)
2012-12-04 14:25 2460问题 2012-10-26 11:37:05. ... -
iOS常用控件尺寸大集合
2012-11-28 16:36 1841元素控件 尺寸(pts) Window(含状态栏) 320 x ... -
UIPanGestureRecognizer学习笔记
2012-11-27 14:59 17640好久没来写笔记了,原因很简单,最近一直坐java网站,没顾上学 ... -
发送邮件---iphone开发
2012-09-27 14:00 13871、导入MessageUI.framework包 2、引入头 ... -
nsarray倒序排序
2012-09-24 16:28 2368NSSortDescriptor *descripto ... -
UITextField限制输入类型
2012-09-05 17:37 7327限制只能输入特定的字 ... -
怎么把椭圆的UISearchBar改成圆角矩形?
2012-08-29 13:03 4640for (UIView *subview in sel ... -
uitableview出现重叠的处理办法
2012-08-24 10:45 753for (UIView *subview in ... -
XIB那点问题
2012-08-09 10:49 9861、运行错误: this class is not key ...
相关推荐
这个话题主要涉及到苹果的移动操作系统中的UIWebView组件以及UIActivityIndicatorView,这两个是构建简单浏览器的关键元素。 UIWebView是iOS SDK中一个重要的视图类,它允许开发者在应用内部嵌入网页内容。...
在实际使用中,你需要在UIWebView的`didStartProvisionalNavigation`代理方法中调用`showLoading`,在`didFinishNavigation`或`didFailProvisionalNavigation`中调用`hideLoading`。例如: ```objc - (void)webView...
在iOS开发中,UIWebView是一个非常重要的组件,它允许开发者在应用程序中集成网页浏览功能。这篇教程主要讲解如何使用UIWebView创建一个简单的网页浏览器界面,并涉及到动态获取UIWebView的高度。 首先,UIWebView...
在iOS开发中,UIWebView是一个非常重要的组件,用于展示网页内容。当UIWebView加载网页时,我们常常需要添加一个加载指示器(Loading)来告知用户数据正在加载,以提供更好的用户体验。本文将介绍两种在iOS中实现...
这篇教程主要讲解了如何在Objective-C环境中使用UIWebView进行基本的网页加载和错误处理。以下是详细的步骤和知识点: 首先,创建一个新的iOS项目。在XCode 4.3中,选择“Single View Application”模板,并命名为...
总之,"Webview pull and down refresh demo"项目涵盖了iOS开发中关于UIWebView、UIScrollView、UITableView的交互、下拉刷新、上拉加载、事件处理、动画设计以及性能优化等多个重要知识点。开发者通过学习这个示例...
- 对于UIWebView,我们可以利用UIActivityIndicatorView(活动指示器)和手势识别器(GestureRecognizer)来实现。首先,创建一个可滚动的header视图,添加活动指示器,然后监听webView的scrollView的contentOffset...
1. **UIWebView或WKWebView**:如果图片是从网络加载的,可能需要使用UIWebView(针对iOS 8及以下版本)或WKWebView(针对iOS 9及以上版本)来显示HTML内容,通过JavaScript与Objective-C或Swift交互,实现图片的...
包含collectionView,UIBezierPath,ActionSheet,DatePicker,pickerView,SearchBar,UIActivityIndicatorView,UIAlertView,UIButton,UIimagePicker,UILabel,UInavigationController,UIProgressView,UIScrollerView,...
包含常用的控件的使用UILabel、UIButton、UIsegmentedControl、UITextField、UISlider、UISwitch、UIActivityIndicatorView、UIProgressView、UIStepper、UIImageView、UIAlertView、UIActionSheep、UIDatePicker、...
为了实现图片预览,iOS开发者通常会使用像`UIImageView`或`UIWebView`这样的内置控件,或者使用第三方库如`Kingfisher`、`SDWebImage`来加载网络图片。此外,可能还会涉及到`UIActivityIndicatorView`显示加载状态,...
开发者需要熟悉UIKit框架,包括UIActivityIndicatorView、UIAlertController等控件的使用。 3. **Social Networks API集成**:ShareKit封装了多个社交网络的API,如Facebook的Graph API、Twitter的REST API等。...
在`viewDidLoad`方法中,初始化`UIWebView`并设置其代理为当前的`WebViewController`实例。同时,我们添加了一个`UIActivityIndicatorView`(菊花加载器)来指示页面加载状态。当页面加载开始时,显示菊花并启动旋转...
// UIActivityIndicatorView *ai = [[UIActivityIndicatorView alloc] init]; // ai.activityIndicatorViewStyle = UIActivityIndicatorViewStyleWhiteLarge; // ai.backgroundColor = [UIColor blackColor]; // ai....