做了一个小Deme,是通过UIActionSheet来显示UIProgressView进度条的。
代码如下:
@interface View21 : UIViewController <UIActionSheetDelegate>
{
float amountDone;
UIProgressView *progressView;
UIActionSheet *actionSheet;
UIView *mainView;
}
@interface View21 : UIViewController <UIActionSheetDelegate>
{
float amountDone;
UIProgressView *progressView;
UIActionSheet *actionSheet;
UIView *mainView;
}
实现方法:
#import "View21.h"
@implementation View21
@synthesize actionSheet;
- (void)loadView
{
mainView=[[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
self.view=mainView;
self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithTitle:@"进度条" style:UIBarButtonItemStylePlain target:self action:@selector(action:)] autorelease];
}
-(void) action: (UIBarButtonItem *) item
{
amountDone = 0.0f;
self.actionSheet = [[[UIActionSheet alloc] initWithTitle:@"正在加载数据请等待nnn" delegate:nil cancelButtonTitle:nil destructiveButtonTitle: nil otherButtonTitles: nil] autorelease];
progressView = [[UIProgressView alloc] initWithFrame:CGRectMake(0.0f, 40.0f, 220.0f, 90.0f)];
[progressView setProgressViewStyle: UIProgressViewStyleDefault];
[actionSheet addSubview:progressView];
[progressView release];
//建立更新 nstimer
[progressView setProgress:(amountDone = 0.0f)];
[NSTimer scheduledTimerWithTimeInterval: 0.35 target: self selector:@selector(incrementBar:) userInfo: nil repeats: YES];
//向actionSheet 添加view数据条
[actionSheet showInView:mainView];
progressView.center = CGPointMake(actionSheet.center.x, progressView.center.y);
}
// nstimer 事件
- (void) incrementBar: (id) timer
{
amountDone += 1.0f;
[progressView setProgress: (amountDone / 20.0)];
//结束 actionSheet
if (amountDone > 20.0)
{
[self.actionSheet dismissWithClickedButtonIndex:0 animated:YES];
self.actionSheet = nil;
[timer invalidate];
}
}
}
#import "View21.h"
@implementation View21
@synthesize actionSheet;
- (void)loadView
{
mainView=[[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
self.view=mainView;
self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithTitle:@"进度条" style:UIBarButtonItemStylePlain target:self action:@selector(action:)] autorelease];
}
-(void) action: (UIBarButtonItem *) item
{
amountDone = 0.0f;
self.actionSheet = [[[UIActionSheet alloc] initWithTitle:@"正在加载数据请等待nnn" delegate:nil cancelButtonTitle:nil destructiveButtonTitle: nil otherButtonTitles: nil] autorelease];
progressView = [[UIProgressView alloc] initWithFrame:CGRectMake(0.0f, 40.0f, 220.0f, 90.0f)];
[progressView setProgressViewStyle: UIProgressViewStyleDefault];
[actionSheet addSubview:progressView];
[progressView release];
//建立更新 nstimer
[progressView setProgress:(amountDone = 0.0f)];
[NSTimer scheduledTimerWithTimeInterval: 0.35 target: self selector:@selector(incrementBar:) userInfo: nil repeats: YES];
//向actionSheet 添加view数据条
[actionSheet showInView:mainView];
progressView.center = CGPointMake(actionSheet.center.x, progressView.center.y);
}
// nstimer 事件
- (void) incrementBar: (id) timer
{
amountDone += 1.0f;
[progressView setProgress: (amountDone / 20.0)];
//结束 actionSheet
if (amountDone > 20.0)
{
[self.actionSheet dismissWithClickedButtonIndex:0 animated:YES];
self.actionSheet = nil;
[timer invalidate];
}
}
}
IPhone之UIProgressView
最新推荐文章于 2015-07-11 02:00:15 发布