WJXOverlappedImagesView
WJXOverlappedImagesView 是由一组圆边图像视图组成的一个非常简单且常见的视图,它们彼此相隔一定距离叠加。没有太多深奥的技术,只是一个常见的封装。如果您喜欢它或者甚至为它点个赞,我都会很高兴。
安装
CocoaPods
WJXOverlappedImagesView 通过 CocoaPods 提供。要安装它,只需将以下行添加到 Podfile 中,然后 import WJXOverlappedImagesView
pod 'WJXOverlappedImagesView', '0.0.1'
手动安装
- 下载项目并将
WJXOverlappedImagesView
文件夹拖到您的项目中;
如何使用
在简单有效的 updateInTransaction
课程内,您可以为其图像视图的边框应用自定义颜色和宽度,每个图像相同的宽度,以及重叠距离等。
overlappedImagesView.updateInTransaction { imagesView in
imagesView.imageBorderWidth = 4
imagesView.imageBorderColor = UIColor.white
imagesView.imageHeight = 66
imagesView.overlapDistance = 16
imagesView.shouldShowMoreIndicatorImageViewWhenImageCountExceedsMaxLimit = true
imagesView.maxLimit = 4
imagesView.imageUrls = ["https://avatars1.githubusercontent.com/u/4176744?v=40&s=132",...]
}
自定义获取图像的方式非常灵活。通过开启一个 imageFetcher
,它不依赖于任何 'WebImage' 框架。
overlappedImagesView.imageFetcher = { imagesView, imageView, url, index in
// fetch image via Kingfisher
imageView.kf.setImage(with: URL(string: url), placeholder: UIImage(named: "demo-avatar"))
// fetch image via YYWebImage
// imageView.yy_setImage(with: URL(string: url)!, placeholder: UIImage(named: "demo-avatar"))
// fetch image via SDWebImage
// imageView.sd_setImage(with: URL(string: url), placeholderImage: UIImage(named: "demo-avatar"))
}
有时,如果某个可复用的视图(如单元格)即将被复用,则必须取消图像的加载,这里的取消方法如下。
overlappedImagesView.imageFetchCanceler = { imagesView, imageView, index in
imageView.kf.cancelDownloadTask()
// imageView.yy_cancelCurrentImageRequest()
// imageView.sd_cancelCurrentImageLoad()
}
您不需要计算宽度。它支持内嵌大小内容。
overlappedImagesView.frame = CGRect(x: 0, y: 0, width: overlappedImagesView.intrinsicContentSize, height: imageHeight)
作者
王九兴 邮箱: [email protected]
许可证
WJXOverlappedImagesView 以 MIT 许可证发布。详细信息请参阅 LICENSE 文件。