AYBMap 0.2.0

AYBMap 0.2.0

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
Released最新版本2014年12月

Andy Barnard 维护。



AYBMap 0.2.0

使用 map() 将一个范围内的值映射到另一个范围。

CGFloat progress = 0.618;
CGFloat viewWidth = CGRectGetWidth([self bounds]);
CGFloat horizontalPosition = map(progress, 0.0, 1.0, 0.0, viewWidth);
[progressIndicator setCenter:CGPointMake(horizontalPosition, 0.0)];

使用 expoMap() 通过在整个目标范围内应用指数曲线,非线性地将一个范围映射到另一个范围。

for (int i = 0; i < 6; i++) {
    CGFloat progress = 0.2 * i;
    CGFloat exponent = 3.0;
    CGFloat mappedProgress = expoMap(progress, 0.0, 1.0, 0.0, 100.0, exponent);
    printf("%f, ", mappedProgress);
}
// Prints "0.000000, 4.307549, 12.156414, 26.457980, 52.517134, 100.000000, "

指定正指数可以应用于目标范围的增加指数映射(加速),或指定负指数可以应用于目标范围的衰减指数映射(减速),如下所示。指数为 0 时,将得到线性映射。

指数为 3。

指数为 -2。