Latest 0.0.2
Homepage https://github.com/wjiuxing/WJXOverlappedImagesView
License MIT
Platforms ios 8.0
Authors

WJXOverlappedImagesView is a very simple and common view made up of a group of round-cornered image views whitch over lapped on each other with some distance. There is no much deep technology but a common encapsulation. I’m glad that if you will like it or even give it a star.

showcase image

Installation

CocoaPods

WJXOverlappedImagesView is available through CocoaPods. To install it, simply add the following line to your Podfile, and then import WJXOverlappedImagesView:

pod 'WJXOverlappedImagesView', '0.0.1'

Manually

  1. Download the project and drop WJXOverlappedImagesView folder into your project;

How to use

Within a simple and effective clourse updateInTransaction you can apply a custom color and width for the border of its image view, a same width for each image and the overlapped distance and so on.

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",...]
}

It’s flexible to customize the way to fetch images. It does not depend on any ‘WebImage’ framework by opening a imageFetcher:

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"))
}

Sometimes it’s necessary to cancel the image loading, if it is a subview of some reusable view, such as cell, when it’ll be reused. Here is the cancler:

overlappedImagesView.imageFetchCanceler = { imagesView, imageView, index in
    imageView.kf.cancelDownloadTask()
    // imageView.yy_cancelCurrentImageRequest()
    // imageView.sd_cancelCurrentImageLoad()
}

You don’t need to calculate the width. It is support for intrinsicContentSize.

overlappedImagesView.frame = CGRect(x: 0, y: 0, width: overlappedImagesView.intrinsicContentSize, height: imageHeight)

Author

Jiuxing Wang email: [email protected]

License

WJXOverlappedImagesView is released under MIT license. See LICENSE for details.

Latest podspec

{
    "name": "WJXOverlappedImagesView",
    "version": "0.0.2",
    "summary": "WJXOverlappedImagesView is made up of a group of round-cornered image views whitch over lapped on each other with some distance..",
    "description": "WJXOverlappedImagesView is a very simple and common view made up of a group of round-cornered image views whitch over lapped on each other with some distance..",
    "homepage": "https://github.com/wjiuxing/WJXOverlappedImagesView",
    "screenshots": "https://raw.githubusercontent.com/wjiuxing/WJXOverlappedImagesView/master/DemoPictures/overlapped-images-view.gif",
    "license": "MIT",
    "authors": {
        "Amos King": "[email protected]"
    },
    "platforms": {
        "ios": "8.0"
    },
    "source": {
        "git": "https://github.com/wjiuxing/WJXOverlappedImagesView.git",
        "tag": "0.0.2"
    },
    "source_files": [
        "Classes",
        "WJXOverlappedImagesView/**/*.swift"
    ],
    "resources": "WJXOverlappedImagesView/WJXOverlappedImagesViewResource.bundle",
    "swift_version": "5.0"
}

Pin It on Pinterest

Share This