У меня есть простое приложение, которое позволяет пользователю перетаскивать / масштабировать изображение на экране с помощью распознавателей панорамирования и сжатия.Как известно из API Apple, после выполнения преобразования, как я делаю в методе масштабирования, фрейм становится «недействительным».В связи с тем, что я постоянно использую рамку своего просмотра изображений для вычисления размера шкалы и расстояния перевода, даже после того, как я выполнил преобразование, и все продолжает работать нормально, мне интересно, что с рамкой стало недействительным?
Я спрашиваю об этом, потому что сейчас я пытаюсь обрезать изображение, которое было перемещено и масштабировано, и я использую его значение кадра, чтобы определить область обрезки, и я получаю забавные результаты.Мне интересно, может ли быть проблема с неправильным фреймом или это может быть что-то еще.Вот мой код для вашей справки:
CGRect croppedRect = CGRectMake(fabsf(self.oldImageView.frame.origin.x), fabsf(self.oldImageView.frame.origin.y), 316, 316);
CGImageRef croppedImageRef = CGImageCreateWithImageInRect(self.oldImageView.image.CGImage, croppedRect);
UIImage *croppedImage = [UIImage imageWithCGImage: croppedImageRef];
CGImageRelease(croppedImageRef);
UIImageView *newImageView = [[UIImageView alloc] initWithImage: croppedImage];