我已向包含数字的 UILabel
添加了平移手势。当用户向上或向下平移时,我希望数字向上/向下移动。我已经得到了这个工作正常 - 平移 24 个坐标使数字减少 24,等等。
我现在需要做的是使数字仅以 20 个坐标的间隔递增 - 因此,当坐标在 50 和 70 之间时,数字会递增 50,当坐标在 100 和 100 之间时,数字会递增 50。 120,数字增加 100,依此类推。
如何在不为每个案例添加巨大的 if/else
树的情况下做到这一点?我确信有一种非常简单的方法可以做到这一点,也许使用 for
循环,但我疲惫的大脑似乎无法理解它。
最佳答案
一些基本数学和削减精度怎么样。
static NSInteger BasicNormalize(CGFloat input, CGFloat interval)
{
NSInteger units = (input + interval / 2.f) / interval;
return units * interval;
}
通过添加一半的间隔来开始,您可以获得一些基本的舍入。例如9 向下舍入为 0,11 向上舍入为 20
关于ios - 平移平移手势坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15527757/