Closed masterdegithub closed 5 years ago
感谢提出,我优化下
你好,需求和微博 长图显示 一样。点击的时候 缩放效果 不是很好呀
嗯,我大概知道问题在哪,抽空优化下
你这么有爱呀 ,我也发现了 动画和 长图这个 有点问题
@MuRanJiangXia 如果你可以改的话,提交一下代码给我合
@JiongXing 转场动画我不太熟悉呀,你有时间看看吧 ,长图 缩放动画有点问题
@JiongXing
///frame 缩放
let trans = JXPhotoBrowserZoomTransitioning { (browser, index, view) -> CGRect? in
let indexPath = IndexPath(item: index, section: 0)
if let cell = collectionView.cellForItem(at: indexPath) {
let height = (cell as! BaseCollectionViewCell).imageView.image?.size.height ?? 0.0
let width = (cell as! BaseCollectionViewCell).imageView.image?.size.width ?? 0.0
let proportion = width / height
let rect = cell.convert(cell.bounds, to: view)
return CGRect(x: rect.origin.x, y: rect.origin.y, width: rect.size.width, height: rect.size.width / proportion )
}
return nil
}
应该可以了
2.1.3
版本已发布,现在给转场动画传入UIImageView即可解决问题。
// 返回"起始/结束"的前置视图
let trans = JXPhotoBrowserZoomTransitioning { (browser, index, view) -> UIView? in
let indexPath = IndexPath(item: index, section: 0)
// 获取前置视图
let cell = collectionView.cellForItem(at: indexPath) as? CustomCell
return cell?.imageView
}
缩略图如果是长图,建议截取长图的顶部区域作缩略图,这样会更连贯。
在超大图的时候缩图的尺寸可能不和原图尺寸一样,导致查看原图的时候尺寸比例还是和缩图比例一样(缩图可能是被截取过)