marcar mi question que es exactamente lo mismo.
Llegué a moverme alrededor de mi vista de recortar y hacer que muestre la parte de la imagen correctamente, pero ocuparme del zoom de desplazamiento es un trabajo en progreso. Actualmente tengo una vista de imagen y UIView simple en capas en UIScrollview, luego fuera de la vista de desplazamiento y en un nivel más alto está UIView mi recorte personalizado. Cómo implementar los métodos toques para hacer frente a lo arrastra alrededor, y también drawRect:
- (void)drawRect:(CGRect)rect {
// Drawing code
if(self.image == nil)
return;
CGPoint offset = scrollView.contentOffset;
clipRect = CGRectOffset(self.frame, offset.x, offset.y);
UIImage *croppedImage = [image croppedImage:clipRect];
CGContextRef ctx = UIGraphicsGetCurrentContext();
[croppedImage drawAtPoint:CGPointMake(0, 0)];
}
Nota: mi punto de vista de recorte no es un descendiente de UIImageView, es sólo UIView con una referencia a la imagen subyacente desde el otro punto de vista.
"croppedImage" es una categoría en UIImage y bastante simple:
@implementation UIImage (Resize)
- (UIImage *)croppedImage:(CGRect)bounds {
CGImageRef imageRef = CGImageCreateWithImageInRect([self CGImage], bounds);
UIImage *croppedImage = [UIImage imageWithCGImage:imageRef];
CGImageRelease(imageRef);
return croppedImage;
}
...
@end
he implementado algunos de los métodos UIScrollViewDelegate y pasar por la actividad de desplazamiento para que pueda mantener mi vista recorte en sincronía. También se pasa el zoom, pero como se mencionó, aún no funciona como se deseaba.
Otra Nota: no creo que es necesario perder el tiempo generando un nuevo UIImage con el área recortada cada vez que el mismo debe ser posible con
CGImageRef imageRef = CGImageCreateWithImageInRect([yourImage CGImage], bounds);
and
CGContextDrawImage(ctx, clipRect, imageRef);
Hola le puede ayudar a ciencia cierta acaba de tomar una mirada una vez: https://github.com/barrettj/BJImageCropper/network/members – RayofHope
Hola, ¿obtuviste una solución para esto? Estoy enfrentando exactamente el mismo problema. – ScarletWitch
Si desea hacer recortar como la imagen siguiente https://raw.github.com/yuyak/YKImageCropper/master/Example/screenshot.png , utilice este: https://github.com/yuyak/YKImageCropper – RayofHope