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
{
//--- ???????
}
By changing slider value to increase the zoom level of image increase and same in decrease zoom level by decreasing slider values
Solved my problem by using
[imageScrollView setZoomScale:sender.value];
to update the zoom when the slider is changed.