Tengo un uiscrollview y hay una uiimageview dentro de él. Quiero que el usado sea capaz de acercar la imagen porque es una imagen grande. la vista de desplazamiento solo necesita desplazarse verticalmente, no horizontalmente.uiscrollview acercar y alejar no funciona correctamente
antes de añadir el efecto de enfoque que tenía el siguiente código y funcionó como quería,
-(void)viewDidLoad
{
[scrollView setScrollEnabled:YES];
[scrollView setContentSize:CGSizeMake(320, 1690)];
}
por lo que hice algunas investigaciones y terminó con el código siguiente para activar el zoom pizca de entrada y salida,
-(void)viewDidLoad
{
scrollView.scrollEnabled = YES;
[scrollView setContentSize:CGSizeMake(320, 1690)];
scrollView.delegate = self;
// scrollView.contentSize = instImage.frame.size;
scrollView.minimumZoomScale = scrollView.frame.size.width/instImage.frame.size.width;
scrollView.maximumZoomScale = 2.0;
[scrollView setZoomScale:scrollView.minimumZoomScale];
[[NSRunLoop currentRunLoop] runMode:NSRunLoopCommonModes beforeDate:[NSDate distantFuture]];
}
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView {
return instImage;
}
- (CGRect)centeredFrameForScrollView:(UIScrollView *)scroll andUIView:(UIView *)rView {
CGSize boundsSize = scroll.bounds.size;
CGRect frameToCenter = rView.frame;
// center horizontally
if (frameToCenter.size.width < boundsSize.width) {
frameToCenter.origin.x = ((boundsSize.width - frameToCenter.size.width)/2);
}else {
frameToCenter.origin.x = 0;
}
return frameToCenter;
}
- (void)scrollViewDidZoom:(UIScrollView *)scrollV {
instImage.frame = [self centeredFrameForScrollView:scrollV andUIView:instImage];;
}
Ahora tengo los siguientes problemas y no puedo averiguar lo que está mal,
cuando la vista se acaba de cargar antes de cualquier pellizco, la vista de desplazamiento no se desplaza completamente hasta el final de la imagen.
cuando se pellizca para acercar, se desplaza hacia la izquierda y hacia la derecha y arriba y abajo de la imagen, pero aún no se desplaza hacia abajo hasta el final de la imagen, pero aún más de lo que originalmente el principio.
cuando alejo, todo se detiene. no se puede acercar ni alejar, ya ni siquiera se desplaza. totalmente cerrado.
Realicé algunas investigaciones y encontré la siguiente publicación. https://stackoverflow.com/a/6384834/1103257
pero no sé dónde encontraría NSDefaultRunLoopMode o incluso cómo buscarlo para averiguar si esto puede resolverlo o no.
Gracias @Mona. También me enfrenté al mismo problema anterior. Esto funciona para mi. :) – iKT