Question

I have a Image View

I Can zoom in and zoom out Image with two fingers using following code

{
[super viewDidload]
 imageScrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320 ,420)];      
      [imageScrollView addSubview:imgView];

      // imageScrollView.minimumZoomScale=0.75;
      imageScrollView.maximumZoomScale=6.0;

      imageScrollView.zoomScale = 0.29;
      imageScrollView.delegate=self;
      [self.view addSubview:imageScrollView];
}


 //UIScrollViewDelegate methods for Zoom

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
      return imgView;
}



- (CGRect)zoomRectForScrollView:(UIScrollView *)ImgscrollView withScale:(float)scale withCenter:(CGPoint)center 
{
      CGRect zoomRect;
      zoomRect.size.height = ImgscrollView.frame.size.height / scale;
      zoomRect.size.width  = ImgscrollView.frame.size.width  / scale;
      // choose an origin so as to get the right center.
      zoomRect.origin.x = center.x - (zoomRect.size.width  / 2.0);
      zoomRect.origin.y = center.y - (zoomRect.size.height / 2.0);
      return zoomRect;
}

But my requirement is to increase or decrease zoom levels with slide values instead of two fingers zoom.

 - (IBAction) sliderValueChange:(UISlider *)sender
 {
     //--- ???????
  }

enter image description here

By changing slider value to increase the zoom level of image increase and same in decrease zoom level by decreasing slider values

Was it helpful?

Solution

Solved my problem by using

[imageScrollView setZoomScale:sender.value];

to update the zoom when the slider is changed.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top