iPhone ProgressBar

时间:2009-07-16 23:41:41

标签: iphone

如何在iPhone SDK中更改ProgressBar的颜色和大小

3 个答案:

答案 0 :(得分:4)

假设您的意思是UIProgressView,您可以像设置任何其他视图一样调整其大小:

UIProgressView *progressView = [[UIProgressView alloc] initWithProgressViewStyle:UIProgressViewStyleBar];
[progressView setFrame:CGRectMake(0,0,320,10)];

或者如果您使用的是默认样式,则可以在init方法中设置框架:

UIProgressView *progressView = [[UIProgressView alloc] initWithFrame:CGRectMake(0,0,320,10)];

据我所知,UIProgressView的颜色无法更改。你可能不得不为此推出自己的观点。

答案 1 :(得分:4)

正如可以注意到的,UIProgressView的定制很少......非常糟糕。我刚刚实现的解决方案是破解UISlider。这是来自Apple支持论坛的inspiration

  1. 创建新的UISlider
  2. 将setMinimumTrackImage和setMaximumTrackImage设置为所需的UIImage值
  3. 将setThumbImage设置为nil
  4. 设置滑块的上限和下限
  5. 设置并添加到UIView后,使用自定义方法将滑块的值设置为通常分配给UIPRogressView进度的值。

答案 2 :(得分:1)

你可能也可以使用看起来像最小尺寸的进度条的图像一起攻击一个,然后用它创建一个可伸缩的图像。

UIImage *progressBarImg= [someImage stretchableImageWithLeftCapWidth:5.0 topCapHeight:0.0];

然后,您可以将图像设置为禁用的UIButton的backgroundImage,并逐渐设置按钮宽度的动画以指示进度。我没有试过这个,但我认为它会起作用。