IOS UIActivityIndicatorView、UIProgressView
来源:互联网 发布:淘宝自动评价 编辑:程序博客网 时间:2024/04/27 07:50
UIActivityIndicatorView和UIProgressView都继承自UIView,所以他们可以附属在其他视图上。UIActivityIndicatorView是一个进度提示器,显示一个小圆圈在转动,主要用在一些耗时操作的提示上,比如网络请求;UIProgressView是一个进度提示条,不过它可以显示一个进度,可以告知用户操作已经进行了多少,这二者的目的都是为了在应用程序有耗时操作时在UI上进行显示,提高用户体验。
下面分别来创建这个两个控件:
首先在ViewController.h中声明代码:
然后修改ViewController.m文件,具体的解释都在注释里面
//
// ViewController.h
// navigationTextColor
//
// Created by U箱超市 on 14-4-3.
// Copyright (c) 2014年姚琪. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface ViewController :UIViewController
@property (nonatomic,retain)UIActivityIndicatorView *activityIndicatorView;
@property (nonatomic,retain)UIProgressView *progressView;
- (IBAction)startIndicator:(id)sender;
- (IBAction)startProgress:(id)sender;
- (IBAction)startNetwork:(id)sender;
@end
//
// ViewController.m
// navigationTextColor
//
// Created by U箱超市 on 14-4-3.
// Copyright (c) 2014年姚琪. All rights reserved.
//
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
@synthesize activityIndicatorView = _activityIndicatorView;
@synthesize progressView = _progressView;
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
returnself;
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (IBAction)startIndicator:(id)sender {
//初始化指示器
self.activityIndicatorView = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(140,200, 50, 50)];
/*
指定指示器的类型
一共有三种类型:
UIActivityIndicatorViewStyleWhiteLarge //大型白色指示器
UIActivityIndicatorViewStyleWhite //标准尺寸白色指示器
UIActivityIndicatorViewStyleGray //灰色指示器,用于白色背景
*/
self.activityIndicatorView.activityIndicatorViewStyle = UIActivityIndicatorViewStyleGray;
//停止后是否隐藏(默认为YES)
self.activityIndicatorView.hidesWhenStopped =YES;
//将Indicator添加到视图中
[self.view addSubview:self.activityIndicatorView];
//开始转动
[self.activityIndicatorView startAnimating];
//操作队列
NSOperationQueue *operationQueue = [[NSOperationQueue alloc] init];
//设置最大的操作数
[operationQueue setMaxConcurrentOperationCount:1];
//构建一个操作对象,selector指定的方法是在另外一个线程中运行的
NSInvocationOperation *operation = [[NSInvocationOperationalloc] initWithTarget:self
selector:@selector(runIndicator) object:nil];
//将操作加入队列,此时后台线程开始执行
[operationQueue addOperation:operation];
}
- (IBAction)startProgress:(id)sender {
self.progressView = [[UIProgressViewalloc] initWithFrame:CGRectMake(70,260, 180,20)];
/*
设置风格属性
有两种风格属性:
UIProgressViewStyleDefault
UIProgressViewStyleBar
*/
self.progressView.progressViewStyle =UIProgressViewStyleDefault;
//设置进度,值为0——1.0的浮点数
// self.progressView.progress = .5;
[self.viewaddSubview:self.progressView];
//设定计时器,每隔1s调用一次runProgress方法
[NSTimerscheduledTimerWithTimeInterval:1target:selfselector:@selector(runProgress)userInfo:nilrepeats:YES];
}
//在状态栏显示有网络请求的提示器
- (IBAction)startNetwork:(id)sender {
UIApplication *app = [UIApplicationsharedApplication];
if (app.isNetworkActivityIndicatorVisible) {
app.networkActivityIndicatorVisible =NO;
}else {
app.networkActivityIndicatorVisible =YES;
}
}
-(void)runIndicator
{
//开启线程并睡眠三秒钟
[NSThread sleepForTimeInterval:3];
//停止UIActivityIndicatorView
[self.activityIndicatorView stopAnimating];
}
//增加progressView的进度
-(void)runProgress
{
self.progressView.progress +=.1;
}
@end
- IOS UIActivityIndicatorView、UIProgressView
- IOS UIActivityIndicatorView、UIProgressView
- IOS-UIProgressView和UIActivityIndicatorView
- IOS学习笔记20—UIActivityIndicatorView、UIProgressView
- IOS学习笔记20—UIActivityIndicatorView、UIProgressView
- iOS自学笔记之UIProgressView和UIActivityIndicatorView
- iOS UISlider, UIProgressView, UIActivityIndicatorView使用方法和监听
- UIActivityIndicatorView、UIProgressView 活动与进度指示器-IOS开发
- UIActivityIndicatorView、UIProgressView 活动与进度指示器-IOS开发
- iOS学习笔记—— UIActivityIndicatorView 和 UIProgressView 的使用
- UIActivityIndicatorView、UIProgressView 活动与进度指示器-IOS开发
- UIActivityIndicatorView、UIProgressView 活动与进度指示器-IOS开发
- UIActivityIndicatorView、UIProgressView 活动与进度指示器-IOS开发
- UISwitch,UISlider,UIProgressView,UIActivityIndicatorView
- UIActivityIndicatorView和UIProgressView
- UIActivityIndicatorView UIProgressView UIScrollView UIPageControl
- UIActivityIndicatorView and UIProgressView的用法
- IOS UIProgressView
- java代码注释规范
- ADS
- C# Form Dispose 和 Close的区别
- Java字节流和字符流实例
- 回溯法解决n皇后问题
- IOS UIActivityIndicatorView、UIProgressView
- 设计随机产生的整数的类
- Linux设备驱动程序学习(7)-内核的数据类型
- linux常用命令大全
- OpenCV 中的PCA算法(cvCalcPCA)
- java面试题加daan
- 使用LVS-NAT+ipvsadm实现RHEL 5.7上的服务集群
- 16年的爱情
- INNO SETUP 打包程序 在WIN7下 报CREATE PROCESS 错误的权限问题解决方法