如何使用图像使用进度视图?

时间:2014-08-05 05:40:13

标签: ios uiprogressview

我想使用自定义图像使用进度视图,因为我在viewDidLoad

中编写了以下代码
UIView *v = [[UIView alloc] initWithFrame:CGRectMake(20, 281, 260, 33)];
v.backgroundColor = [UIColor darkGrayColor];
progressTest = [[customprogress alloc] initWithFrame:CGRectMake(5, 9, 250, 15)];
progressTest.progress = 0.0;
[v addSubview:progressTest];
[self.view addSubview:v];
[NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(startProgressing) userInfo:nil repeats:YES];

这是我的customprogress.m文件,

- (void)drawRect:(CGRect)rect {
UIImage *background = [[UIImage imageNamed:@"progressbarbg.png"]resizableImageWithCapInsets:UIEdgeInsetsMake(0, 5, 0, 4)];
UIImage *fill = [[UIImage imageNamed:@"progressbarfill.png"]resizableImageWithCapInsets:UIEdgeInsetsMake(0, 5, 0, 4)];
[background drawInRect:rect];
NSInteger maxWidth = rect.size.width;
NSInteger curWidth = floor([self progress] * maxWidth);
CGRect fillRect = CGRectMake(rect.origin.x,rect.origin.y+1,curWidth,rect.size.height-2);
[fill drawInRect:fillRect];
}

这是我的startProgressing方法

-(void) startProgressing {
float t = progressTest.progress;
seconds = (secondsLeft %3600) % 60;

progressTest.progress = t + seconds;

}

我得到奇怪的进度视图,根本没有进展。我想显示进度视图60秒。我怎么能这样做?

我只看到一个深灰色bgcolor的矩形。

1 个答案:

答案 0 :(得分:0)

很难说为什么您提供的代码无效。

您确定要创建自定义进度视图吗?有一个很棒的第三方库,名为MBProgressHUD,易于使用和自定义。

  

MBProgressHUD是一个i​​OS插件类,显示半透明的HUD   在工作中使用指示符和/或标签   背景线程。 HUD意味着替代   无证,私人UIKit UIProgressHUD还有一些额外的   特征