Лучший способ получить значение кадра после преобразования? - PullRequest
1 голос
/ 30 октября 2011

У меня есть изображение, к которому прикреплен распознаватель пинчгестера.В методе делегата pinchgesturerecognizer мне нужно вычислить значение кадра преобразования до того, как оно произойдет, чтобы увидеть, вытеснило ли масштабирование представление изображения за границы окна.Я знаю, что мне нужно использовать CGRectApplyAffineTransform для вычисления значения кадра каждый раз, но поскольку значение кадра viewview будет недействительным после выполнения первого преобразования, нужно ли мне теперь сохранять значение кадра обновления в переменной экземпляра и постоянно обновлять его каждый разпроисходит преобразование, или я каким-то образом могу получить это значение из самого изображения?

1 Ответ

1 голос
/ 30 октября 2011

Итак, вы хотите проверить, находится ли UIImageView внутри его окна?

Я думаю, что вы можете игнорировать рамку вида и вместо этого начать свои вычисления с точки зрения границ. Это будет включать преобразование, которое вы применили к представлению.

Apple имеет раздел с именем Взаимосвязь свойств рамки, границ и центра в Руководство по программированию для iOS .

CGRect imageViewBounds = imageView.bounds;
CGRect imageViewBoundsInWindow = [imageView convertRect:imageViewBounds
                                                 toView:nil];
CGRect windowBounds = imageView.window.bounds;
if ( CGRectIntersectsRect( windowBounds, imageViewBoundsInWindow ) ) {
     // imageView is visible in its window
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...