关于使用UIScrollView放大图片时的小问题.

因为个人公司项目特殊需求,网上一些比较好的三方图片浏览只好排除.(个人推荐:PYPhotoBrowser,附带Github:https://github.com/iphone5solo/PYPhotosView)

在自己封装图片浏览器时有两种方案:一是利用手势,二是利用UIScrollView自带的放大缩小功能.我选择的第二种,处理起来确实简单方便.

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView {

         return imageView; // 返回需要放大的view

}

这个代理方法必须调用,且设置返回值(imageView的superView是scrollview).但是我在搭建完毕后发现,放大图片后图片会发生偏移.所以,我在下面这个代理方法设置重置imageView的frame和scrollview的contentSize.但是发现imageView被scrollview裁掉边缘.

自己琢磨了半天.发现目前合理的解决方法只有调整center.(下面是我的代码)

- (void)scrollViewDidZoom:(UIScrollView *)scrollView {

UIImageView *imageView = [scrollView viewWithTag:10000];

[imageView removeFromSuperview];

imageModel *image = _imageArray[currentPage];

if (image.originImg.size.width > image.originImg.size.height) {

imageView.center = CGPointMake(imageView.frame.size.width/2, scrollView.center.y);

} else {

imageView.center = CGPointMake(scrollView.center.x, imageView.frame.size.height/2);

}

[scrollView addSubview:imageView];

[scrollView setContentSize:CGSizeMake(imageView.frame.size.width, imageView.frame.size.height <= self.frame.size.height ? self.frame.size.height : imageView.frame.size.height)];

}

我想在这儿分享自己遇到的问题,已经向各位大神们求助有没有更合理的解决方法.(本人菜鸟,望大家指点).

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥iOS动画全貌。在这里你可以看...
    F麦子阅读 5,152评论 5 13
  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥ios动画全貌。在这里你可以看...
    每天刷两次牙阅读 8,586评论 6 30
  • *7月8日上午 N:Block :跟一个函数块差不多,会对里面所有的内容的引用计数+1,想要解决就用__block...
    炙冰阅读 2,556评论 1 14
  • 1.要上高中了 老觉得头发特别重 就给妈妈说 妈 头发太多了脖子都抬不起来 我要剪短发 后来高中的时候头发越剪越短...
    茶小主阅读 175评论 0 1
  • 1.人们总想回到过去,不过是对现状不满意,总以为回到过去了就充满希望,就能重新做好一切罢了。 2.爱上民谣是因为习...
    咫尺天涯意相逢阅读 160评论 0 1