Long story short, I\'m trying to build functionality similar to Photos.app.
I have a UIScrollView with a UIImageView inside of it set up in the Storyboard. Zooming works
To center the contents, you can take reference from this code snippet:
// To re-center the image after zooming in and zooming out
- (void)centerScrollViewContents
{
CGSize boundsSize = self.bounds.size;
CGRect contentsFrame = self.imageView.frame;
if (contentsFrame.size.width < boundsSize.width)
{
contentsFrame.origin.x = (boundsSize.width - contentsFrame.size.width) / 2.0f;
}
else
{
contentsFrame.origin.x = 0.0f;
}
if (contentsFrame.size.height < boundsSize.height)
{
contentsFrame.origin.y = (boundsSize.height - contentsFrame.size.height) / 2.0f;
}
else
{
contentsFrame.origin.y = 0.0f;
}
self.imageView.frame = contentsFrame;
}
//for zooming in and zooming out
- (void)scrollViewDidZoom:(UIScrollView *)scrollView
{
if (self.zoomScale > 1.0f)
{
[self centerScrollViewContents];
}
else
{
self.bouncesZoom = NO;
// for zooming out by pinching
[self centerScrollViewContents];
}
}
In this way, you can reposition the coordinates of an image after zooming in and zooming out without AutoLayout. Please let me know if it helps. Thanks :)