0

我试图从根本上扭转这个算法,以便我得到给定 y 轴的时间。

+ (CGFloat)yAxisForTime:(CGFloat)time
{
    CGFloat newTime = (float)(time * ((60 / [DataClass sharedInstance].timeInterval) / 2 ));
    return kTopBuffer + (44.0f * newTime);
}

+ (CGFloat)timeForYAxis:(CGFloat)y
{
    CGFloat newTime = (float)(y / ((60 * [DataClass sharedInstance].timeInterval) * 2 ));
    return kTopBuffer + (44.0f / newTime);
}

我今天脑子里放了个屁,似乎没能把它弄好。我如何获得 yAxis 的时间?我的 yAxisForTime 运行良好,但现在只需要获取 timeForYAxis。

4

1 回答 1

1

如果

y = kTopBuffer + (44 * newtime)

然后

newTime = (y - kTopBuffer) / 44

因此

time = (newTime / ((60 / [DataClass sharedInstance].timeInterval) / 2 ))

所以:

time = ( ((y - kTopBuffer) / 44) / ((60 / [DataClass sharedInstance].timeInterval) / 2 ))
于 2012-06-25T17:39:39.560 回答