uiscrollview zoom-in und zoom-out funktioniert nicht richtig

Ich habe eine uiscrollview und es ist ein uiimageview drin. Ich will die verwendet werden können, um den zoom aus dem Bild heraus, da es ein großes Bild. die scrollview muss nur vertikal scrollen, nicht horizontal.

bevor man den Zoom-Effekt hatte ich den folgenden code und es funktionierte, wie ich wollte,

-(void)viewDidLoad
{
[scrollView setScrollEnabled:YES];
[scrollView setContentSize:CGSizeMake(320, 1690)];
}

Also recherchierte ich und landete mit dem folgenden code zu aktivieren pinch-zoom in und out,

-(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];;
 }

Nun habe ich folgende Probleme und ich kann nicht herausfinden, was falsch ist,

  1. wenn die Ansicht geladen, bevor alle Klemmen Sie die scrollview nicht scrollen Sie ganz an das Ende des Bildes.

  2. als kniff, um es zu vergrößern, es scrollt nach Links und rechts und oben und unten das Bild, aber noch ist es nicht scroll ganz runter an das Ende des Bildes, aber immer noch mehr als das, was es ursprünglich zu Beginn.

  3. wenn ich verkleinern, das ganze Stoppt. Sie können nicht vergrößern oder verkleinern, es gar nicht mehr scrollen. völlig gesperrt.

Habe ich einige reseach und fand den folgenden Beitrag.
https://stackoverflow.com/a/6384834/1103257

aber ich weiß nicht, wo würde ich finden NSDefaultRunLoopMode oder sogar, wie die Suche für Sie, um herauszufinden, ob dieser Sie lösen kann oder nicht.

InformationsquelleAutor Mona | 2012-02-21

Schreibe einen Kommentar