AnimatedCollectionViewLayout icon indicating copy to clipboard operation
AnimatedCollectionViewLayout copied to clipboard

Objective-c compatibility

Open CavalcanteLeo opened this issue 7 years ago • 1 comments

I can't use any property in objective-c (eg: layout.animator), none of them are visible.

captura de tela 2018-01-19 as 18 56 47

CavalcanteLeo avatar Jan 19 '18 20:01 CavalcanteLeo

Create Swift Extension and import into your objective-C class

@objc public extension AnimatedCollectionViewLayout{

@objc class func initWithPageAnimator() -> AnimatedCollectionViewLayout{
    let layout = AnimatedCollectionViewLayout()
    layout.scrollDirection = .horizontal
    layout.animator = PageAttributesAnimator(scaleRate: 0.0)
    
    layout.sectionInset = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0)
    layout.minimumInteritemSpacing = 0
    layout.minimumLineSpacing = 0
    
    return layout
}
@objc class func initWithParallaxAnimator() -> AnimatedCollectionViewLayout{
    let layout = AnimatedCollectionViewLayout()
    layout.scrollDirection = .horizontal
    layout.animator = ParallaxAttributesAnimator(speed: 0.2)
    
    layout.sectionInset = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0)
    layout.minimumInteritemSpacing = 0
    layout.minimumLineSpacing = 0
    
    return layout
}

}

Just use like this

self.collectionView.collectionViewLayout = (AnimatedCollectionViewLayout*)[AnimatedCollectionViewLayout initWithPageAnimator]; }

BaluNaik avatar Feb 04 '18 06:02 BaluNaik