iOS - 使用CGAfineTransform限制缩放到缩放

时间:2013-06-17 20:00:19

标签: ios quartz-2d zooming cgaffinetransform

当我使用捏缩放手势时,我正在设置缩放的最大和最小限制

CGAffineTransform transform = CGAffineTransformMakeScale(recognizer.scale, recognizer.scale);
NSLog(@"Pinch scale: %f", recognizer.scale);
float scale = recognizer.scale;
float SCALE_MIN = 1.0f;
float SCALE_MAX = 3.0f;

if (SCALE_MIN < scale < SCALE_MAX) {
    self.view.transform = transform;
}

else {

}

这背后的逻辑是,只有满足条件才会缩放

但这只是无休止地缩放。

1 个答案:

答案 0 :(得分:2)

C不是Python。 <运算符是二元和左关联的,所以

SCALE_MIN < scale < SCALE_MAX

被解析为

(SCALE_MIN < scale) < SCALE_MAX

左侧是1或0(真或假),它总是小于SCALE_MAX(即3)。所以你的情况总是如此。 (你没有收到编译器警告吗?)

提示:您需要使用逻辑AND(&&)运算符来组合这两个条件。