1-3 轉(zhuǎn)自:
http://blog.csdn.net/woyangyi/article/details/47106403)
使用了MJPhotoBrowser,里面的一些bug 和解決如下
1.-[MJPhotoLoadingView setProgress:]: message sent to deallocated instance 0x17fe4210
分析: 這是由于MJPhotoView 執(zhí)行了hide移除了MJPhotoLoadingView
,然而SDWebimage
仍然執(zhí)行了下載進(jìn)度的設(shè)置榜苫。
解決方法:最簡單的是寫個(gè)bool值怕磨,伺帘,當(dāng)響應(yīng)hide的時(shí)候即在- (void)hide
方法中設(shè)置為YES,然后在 - (void)photoStartLoad
方法中修改如下:
if (!hide) {
loading.progress = (float)receivedSize/expectedSize;
}
2.點(diǎn)擊小圖進(jìn)入大圖模式以及回到小圖模式時(shí)會閃動,動畫效果不忍直視
分析 :這主要你原本的ImageView
的contenMode
設(shè)置問題躲叼,注意如果你原來UIViewContentModeScaleAspectFill
, 則MJPhotoView
的init里面也設(shè)置成這個(gè) 而reset
里面改為UIViewContentModeScaleAspectFit
,UIViewContentModeScaleToFill
等蔬捷,若果還是閃動就多測試幾次contenMode
.
如果項(xiàng)目中多個(gè)地方用到MJPhotoBrowser
厉亏,而且原Imageview
的contenModel
不一樣董习,需自己做判斷
- 圖片放大時(shí)圖片太靠近底部的問題
解決:在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.進(jìn)入相冊后 按home回到桌面,再點(diǎn)擊應(yīng)用圖標(biāo)進(jìn)入應(yīng)用, 圖片下移64.
解決: 在viewDidLoad中添加一行代碼
self.automaticallyAdjustsScrollViewInsets = NO;