1-3 转自:
http://blog.csdn.net/woyangyi/article/details/47106403)
使用了MJPhotoBrowser,里面的一些bug 和解决如下
1.-[MJPhotoLoadingView setProgress:]: message sent to deallocated instance 0x17fe4210
分析: 这是由于MJPhotoView 执行了hide移除了MJPhotoLoadingView
,然而SDWebimage
仍然执行了下载进度的设置。
解决方法:最简单的是写个bool值,,当响应hide的时候即在- (void)hide
方法中设置为YES,然后在 - (void)photoStartLoad
方法中修改如下:
if (!hide) {
loading.progress = (float)receivedSize/expectedSize;
}
2.点击小图进入大图模式以及回到小图模式时会闪动,动画效果不忍直视
分析 :这主要你原本的ImageView
的contenMode
设置问题,注意如果你原来UIViewContentModeScaleAspectFill
, 则MJPhotoView
的init里面也设置成这个 而reset
里面改为UIViewContentModeScaleAspectFit
,UIViewContentModeScaleToFill
等,若果还是闪动就多测试几次contenMode
.
如果项目中多个地方用到MJPhotoBrowser
,而且原Imageview
的contenModel
不一样,需自己做判断
- 图片放大时图片太靠近底部的问题
解决:在MJPhotoView
里面加上下面代码
- (void)scrollViewDidZoom:(UIScrollView *)scrollView {
CGRect imageViewFrame = _imageView.frame;
CGRect screenBounds = [UIScreen mainScreen].bounds;
if (imageViewFrame.size.height > screenBounds.size.height)
{ imageViewFrame.origin.y = 0.0f; }
else { imageViewFrame.origin.y = (screenBounds.size.height - imageViewFrame.size.height) / 2.0; }
_imageView.frame = imageViewFrame;
}
4.进入相册后 按home回到桌面,再点击应用图标进入应用, 图片下移64.
解决: 在viewDidLoad中添加一行代码
self.automaticallyAdjustsScrollViewInsets = NO;