Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // call when zoom level or page size changes (i.e. after zooming or after rotation)
- - (void)updateContentInsetForPageScrollView:(UIScrollView *)pageScrollView {
- UIImageView *imageView = (UIImageView *) [pageScrollView viewWithTag:TAG_IMAGE_VIEW];
- CGFloat zoomScale = pageScrollView.zoomScale;
- CGSize imageSize = imageView.bounds.size;
- CGSize zoomedImageSize = CGSizeMake(imageSize.width * zoomScale, imageSize.height * zoomScale);
- CGSize pageSize = pageScrollView.bounds.size;
- UIEdgeInsets inset = UIEdgeInsetsZero;
- if (pageSize.width > zoomedImageSize.width) {
- inset.left = (pageSize.width - zoomedImageSize.width) / 2;
- inset.right = -inset.left;
- }
- if (pageSize.height > zoomedImageSize.height) {
- inset.top = (pageSize.height - zoomedImageSize.height) / 2;
- inset.bottom = -inset.top;
- }
- pageScrollView.contentInset = inset;
- }
- -(void)scrollViewDidZoom:(UIScrollView *)pageScrollView {
- [self updateContentInsetForPageScrollView:pageScrollView];
- }
- - (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {
- // loop through all pages, adjusting their sizes
- // and calling updateContentInsetForPageScrollView for each
- }
Add Comment
Please, Sign In to add comment