2013-06-17 4 views
-2

Я пытаюсь установить максимум и ограничение мин до масштабирования, когда я использую щепотку для увеличения жестаIOS - Концевая Pinch Увеличить с помощью CGAfineTransform

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 { 

} 

Логика этого было то, что было бы только при условии, что условие выполнено

, но это просто масштабирует бесконечно.

+0

Я всегда боюсь, когда вижу людей с таким опытом «решений» «Приложения для iOS» ... –

+0

Ваш ответ работает: D. , , , но, чем повторить путь «доброго» и «нежного» подхода –

+1

Его ответ работает И очевиден. Его «добрый» и «нежный» подход - это его мнение. Но тогда он, вероятно, видит много этих частично исследованных вопросов, которые могли быть исправлены с небольшим количеством мыслей и протоколирования/точек останова. – Abizern

ответ

2

C не является Python. Оператор < является двоичным и левой ассоциативно, так

SCALE_MIN < scale < SCALE_MAX 

анализируется как

(SCALE_MIN < scale) < SCALE_MAX 

левая сторона равен 1 или 0 (истина или ложь), которое всегда меньше, чем SCALE_MAX (который равен 3). Таким образом, ваше состояние всегда верно. (Не было ли у вас предупреждения о компиляторе?)

Подсказка: вам необходимо использовать логический оператор AND (&&) для объединения двух условий.