-2

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

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 {

}

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

但这只是无休止地放大。

4

1 回答 1

2

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

SCALE_MIN < scale < SCALE_MAX

被解析为

(SCALE_MIN < scale) < SCALE_MAX

左边是 1 或 0(真或假),总是小于SCALE_MAX(即 3)。所以你的条件总是正确的。(您没有收到关于此的编译器警告吗?)

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

于 2013-06-17T20:07:15.403 回答