MJPhotoBrowser bug 修改

使用了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不一样,需自己做判断

3. 图片放大时图片太靠近底部的问题

解决:在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;

}

你可能感兴趣的:(iOS)