将不能被10整除的数字映射到UIProgressview

时间:2013-07-03 18:03:34

标签: iphone ios objective-c uiprogressview

我正在使用两个UIProgressviews处理iPhone应用程序。问题是,显示5/100或5/10的进度非常简单,但为了显示5/16的内容,我需要更改进度视图的最大值。我似乎无法找到一个(我认为它被称为)进度视图的属性,我可以使用它。例如.maximumValue。非常感谢任何帮助,谢谢!

3 个答案:

答案 0 :(得分:3)

UIProgressView的progress属性从0到1。

因此需要根据您的最大值进行划分。

例如,如果在应用程序中,有maximum value is 23,那么代码应该是这样的:

float progressValue = <Actual Value> / 23.0;

[myProgressView setProgress: progreassValue];

有关详细信息,请参阅UIProgressView class reference

答案 1 :(得分:3)

UIProgressView progress属性从0(意味着根本没有进展)变为1(意味着一切都已完成)。

所以:

self.progressView.progress = 5.0 / 16.0;

或者,为新进度制作动画:

[self.progressView setProgress:5.0/16.0 animated:YES];

从技术上讲,progress属性为float,因此您可以说5.0f / 16.0f可以节省几纳秒。但是你可能不经常更新这个属性,因为这很重要。

答案 2 :(得分:1)

由于ProgressView progress属性的类型为float,因此可以使用类型转换,如下所示:

int value=5;
int MaxValue=15;
float Progress=(float)value/MaxValue;
[self.myProgressview setProgress:Progress animated:YES];