/MMBannerLayout

Custom Banner CollectionView Layout

Primary LanguageSwiftMIT LicenseMIT

MMBannerLayout

CI Status Version License Platform

Demo

demo

Setting

demo

Use Banner

    if let layout = collection.collectionViewLayout as? MMBanerLayout {
        // Space every Item
        layout.itemSpace = 5.0
        // Size for banner cell
        layout.itemSize = self.collection.frame.insetBy(dx: 40, dy: 40).size
        // scroll to inifite (ex. completed block check your content size is enough to cycle infinite)
       (collection.collectionViewLayout as? MMBanerLayout)?.setInfinite(isInfinite: true, completed: { [unowned self]                    (result) in
            // result false mean you cant infinite
       })
        // auto play
        (collection.collectionViewLayout as? MMBanerLayout)?.autoPlayStatus = .play(duration: 2.0)
        // angle need to be (0~90)
        layout.angle = 45
    }

Use BannerLayoutDelegate

    //(Just setting self.collectionView.delegate = [your target])
    extension [your Target]: BannerLayoutDelegate {
             // Current IndexPath on center
            func collectionView(_ collectionView: UICollectionView, focusAt indexPath: IndexPath) {
                 print("Focus on \(indexPath)")
            }
    }

Installation

MMBannerLayout is available through CocoaPods. To install it, simply add the following line to your Podfile:

(if you cant find pod command "pod repo update")
pod "MMBannerLayout"

Author

millmanyang@gmail.com

License

MMBannerLayout is available under the MIT license. See the LICENSE file for more info.