以度为单位转换千字节数

时间:2012-08-29 14:45:37

标签: objective-c

我正在尝试编程车速表!我有一个针图像,我希望针根据当前的下载速度旋转。

我有以下方法,但它不起作用。当我用CurrentDegress更新我的针时,它永远不会下降,只会越来越高;针绕着圆圈旋转......任何人?!

- (void) recalculateDegrees:(CGFloat) currentlyLoadedBytes
{
    if(bytes <= 0){
        currentDegrees = 0;
    }
    else if (bytes > completeFileSize){
        currentDegrees = MAX_DEGREES;
    }
    else {
        CGFloat log_tmp =(CGFloat) log10f(currentlyLoadedBytes / 1000);
        currentDegrees = (log_tmp/5.0f)*290.0f;
    }
    //code to rotate image to currentDegrees
}

2 个答案:

答案 0 :(得分:1)

您可以使用以下方法从速度值(而不是currentlyLoadedBytes)获取角度:

- (CGFloat)angleFromSpeed:(CGFloat)speed
{
    if (speed <= 0) {
        return MIN_ANGLE;
    } else if (speed >= MAX_SPEED) {
        return MAX_ANGLE;
    } else {
        return speed / MAX_SPEED * (MAX_ANGLE - MIN_ANGLE) + MIN_ANGLE;
    }
}

答案 1 :(得分:0)

我没有完全遵循您正在做的事情,但是在else区块的某处,您应该将currentlyLoadedBytes / completeFileSize分开。此外,bytes应该是cuurentlyLoadedBytes吗?