Zohar Etzioni
Zohar Etzioni

Reputation: 721

Zoom/Scroll through parts of image in a scrollview

I have an image which I divide into pages, such that each page shows a zoomed rectangle of the image. I think I should be able to do that with a UIImageView in a ScrollView, such that next page zooms the view to a given point. However I can't seem to get it to work.

This is the code for loading the image and setting the zoom on the first part (i.e. the first page) into scrollview:

scrollView.isPagingEnabled = true
scrollView.contentSize = CGSize(width: 1280, height: 1920)
scrollView.showsHorizontalScrollIndicator = false
scrollView.delegate = self as UIScrollViewDelegate

let image = UIImage(named: imageName)
let imageView = UIImageView(image: image!)
imageView.frame.origin.x = 0
scrollView.addSubview(imageView)    
scrollView.zoom(toPoint: CGPoint(x:800,y:800), scale: 1, animated: false)

The image is obviously much larger than the size of the scrollview, which is 375/309.

I'm probably missing a lot here, or maybe there's a completely different way of achieving this.

the zoom function is borrowed from https://gist.github.com/TimOliver/71be0a8048af4bd86ede.

Thanks, Z.

Upvotes: 1

Views: 463

Answers (1)

esreli
esreli

Reputation: 5061

It seems like you'll want to set the content offset rather than zooming to a point. Try:

scrollView.contentOffset = CGPoint(x:800,y:800)

Upvotes: 0

Related Questions