我想使用自定义图像使用进度视图,因为我在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的矩形。
答案 0 :(得分:0)
很难说为什么您提供的代码无效。
您确定要创建自定义进度视图吗?有一个很棒的第三方库,名为MBProgressHUD
,易于使用和自定义。
MBProgressHUD是一个iOS插件类,显示半透明的HUD 在工作中使用指示符和/或标签 背景线程。 HUD意味着替代 无证,私人UIKit UIProgressHUD还有一些额外的 特征