WMZBanner輕量級輪播圖
WMZBanner - 最好用的輕量級輪播圖+卡片樣式+自定義樣式
演示
特性
- 鏈?zhǔn)秸Z法 結(jié)構(gòu)優(yōu)雅
- 支持常規(guī)輪播圖樣式
- 支持卡片式樣式
- 支持自定義輪播圖cell
- 支持自定義圖片的偏移距離
- 支持自定義pagecontrol
- 支持循環(huán)滾動,支持自動滾動
- 樣式均可自定義
- 支持網(wǎng)絡(luò)圖片和本地圖片混合使用
用法
默認(rèn)模式
主要適用于普通樣式的情況下使用
直觀 清晰, 編碼時可隨初始化控件編寫完成, 不影響編碼思路.
WMZBannerParam *param = BannerParam()
.wFrameSet(CGRectMake(0, BannerHeight/4*3+10, BannerWitdh, BannerHeight/5))
//傳入數(shù)據(jù)
.wDataSet([self getData])
//開啟循環(huán)滾動
.wRepeatSet(YES)
//開啟自動滾動
.wAutoScrollSet(YES)
//自動滾動時間
.wAutoScrollSecondSet(3)
;
self.viewTwo = [[WMZBannerView alloc]initConfigureWithModel:param withView:self.view];
卡片模式
BannerParam()
.wFrameSet(CGRectMake(0, BannerHeight/4*3+10, BannerWitdh, BannerHeight/5))
//item之間的間距
.wLineSpacingSet(15)
//開啟縮放效果
.wScaleSet(YES)
//縮放垂直系數(shù)
.wActiveDistanceSet(400)
//縮放系數(shù)
.wScaleFactorSet(0.5)
//item的size
.wItemSizeSet(CGSizeMake(BannerWitdh*0.8, BannerHeight/5))
//固定移動的距離 size*倍數(shù)
.wContentOffsetXSet(0.5)
//默認(rèn)選中
.wSelectIndexSet(2)
.wRepeatSet(YES)
.wAutoScrollSecondSet(3)
.wAutoScrollSet(NO)
//item中心位置
.wPositionSet(BannerCellPositionCenter)
//整體左右偏移 item.width的一半 讓第一個和最后一個可以居中
.wSectionInsetSet(UIEdgeInsetsMake(0,BannerWitdh*0.4, 0, BannerWitdh*0.4))
.wDataSet([self getData]);
跑馬燈
WMZBannerParam *param = BannerParam()
.wFrameSet(CGRectMake(10, BannerHeight/2-20, BannerWitdh-20, 30))
.wDataSet(@[@"熱門商品",@"Hot",@"熱點資訊",@"其他熱門"])
//關(guān)閉手指滑動
.wCanFingerSlidingSet(NO)
//開啟循環(huán)滾動
.wRepeatSet(YES)
//開啟自動滾動
.wAutoScrollSet(YES)
//自動滾動時間
.wAutoScrollSecondSet(3)
//跑馬燈
.wMarqueeSet(YES)
天貓精靈樣式
大概效果圖
BannerParam()
.wFrameSet(CGRectMake(0, BannerHeight/4*3+10, BannerWitdh, BannerHeight/5))
.wDataSet([self getData])
//關(guān)閉pageControl
.wHideBannerControlSet(YES)
//開啟縮放
.wScaleSet(YES)
//垂直縮放參數(shù)
.wActiveDistanceSet(400)
//縮放系數(shù)
.wScaleFactorSet(0.5)
//自定義item的大小
.wItemSizeSet(CGSizeMake(BannerWitdh*0.7, BannerHeight/5))
//固定移動的距離
.wContentOffsetXSet(0.4)
//循環(huán)
.wRepeatSet(YES)
//item的間距
.wLineSpacingSet(10)
//整體左右間距 右邊偏移item.width的一半 讓最后一個可以居中
.wSectionInsetSet(UIEdgeInsetsMake(0,10, 0, 10+BannerWitdh*0.35))
自定義cell
傳入一個繼承UICollectionViewCell的類
BannerParam()
//自定義視圖必傳
.wMyCellClassNameSet(@"MyCell")
.wMyCellSet(^UICollectionViewCell *(NSIndexPath *indexPath, UICollectionView *collectionView, id model, UIImageView *bgImageView,NSArray*dataArr) {
//自定義視圖
MyCell *cell = (MyCell *)[collectionView dequeueReusableCellWithReuseIdentifier:NSStringFromClass([MyCell class]) forIndexPath:indexPath];
[cell.icon sd_setImageWithURL:[NSURL URLWithString:model[@"icon"]] placeholderImage:nil];
cell.leftText.text = model[@"name"];
//毛玻璃效果必須實現(xiàn) 看實際情況 取最后一個還是中間那個
[bgImageView sd_setImageWithURL:[NSURL URLWithString:model[@"icon"]] placeholderImage:nil];
[bgImageView sd_setImageWithURL:[NSURL URLWithString:dataArr[(indexPath.row == 0?:(indexPath.row-1))][@"icon"]] placeholderImage:nil];
return cell;
})
.wEventClickSet(^(id anyID, NSIndexPath *path) {
NSLog(@"點擊 %@ %@",anyID,path);
})
.wFrameSet(CGRectMake(0, BannerHeight/4*3+10, BannerWitdh, BannerHeight/5))
更新UI
-(void)updateUI; 改變.wDataSet(@[]),然后調(diào)用updateUI()實例方法即可
其他可配置的全部參數(shù)說明
布局方式 frame 必傳
wFrame
數(shù)據(jù)源 必傳
wData
開啟縮放 default NO
wScale
背景毛玻璃效果 default NO
wEffect
縱向(cell全屏的時候有效) default NO
wVertical
跑馬燈(文字效果) default NO
wMarquee
縮放系數(shù) 數(shù)值越大縮放越大 default 0.5
wScaleFactor
垂直縮放 數(shù)值越大縮放越小 default 400
wActiveDistance
item的size default 視圖的寬高 item的width最小為父視圖的一半 (為了保證同屏最多顯示3個 減少不必要的bug)
wItemSize
item的之間的間距 default 0
wLineSpacing
滑動的時候偏移的距離 以倍數(shù)計算 default 0.5 正中間
wContentOffsetX
左右相鄰item的中心點 default BannerCellPositionCenter
wPosition
圖片不變形鋪滿 默認(rèn) YES
wImageFill
占位圖片 默認(rèn) -
wPlaceholderImage
開啟無線滾動 default NO
wRepeat
整體間距 default UIEdgeInsetsMake(0,0, 0, 0) 如果是一屏幕有2 3個的 要讓第一個和最后一個居中最好設(shè)置偏移量
wSectionInset
開啟自動滾動 default NO
wAutoScroll
自動滾動間隔時間 default 3.0f
wAutoScrollSecond
默認(rèn)移動到第幾個 default 0
wSelectIndex
自定義cell內(nèi)容 default @“Collectioncell"
wMyCell
自定義cell的類名 自定義視圖必傳 不然會crash
wMyCellClassName
點擊方法
wEventClick
隱藏pageControl default NO
wHideBannerControl
是否允許手勢滑動 default YES
wCanFingerSliding
系統(tǒng)的圓點顏色 default ffffff
wBannerControlColor
系統(tǒng)的圓點選中顏色 default orange
wBannerControlSelectColor
自定義安全的圓點圖標(biāo) default -
wBannerControlImage
自定義安全的選中圓點圖標(biāo) default -
wBannerControlSelectImage
自定義安全的圓點圖片圓角 default ImageSize/2
wBannerControlImageRadius
自定義安全的圓點圖標(biāo)的size default (5,5)
wBannerControlImageSize
自定義安全的選中圓點圖標(biāo)的size default (10,5)
wBannerControlSelectImageSize
滾動減速時間 default UIScrollViewDecelerationRateFast
wDecelerationRate
依賴
SDWebImage
安裝
CocoaPods
-
將 cocoapods 更新至最新版本.
-
在 Podfile 中添加
pod 'WMZBanner'。 -
執(zhí)行
pod install或pod update。 -
導(dǎo)入 #import "WMZBannerView.h"。
注:要消除鏈?zhǔn)骄幊痰木?/p>
要在Buildding Settings 把CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF 設(shè)為NO
手動安裝
-
下載 WMZBanner 文件夾內(nèi)的所有內(nèi)容。
-
將 WMZBanner 內(nèi)的源文件添加(拖放)到你的工程。
-
導(dǎo)入 #import "WMZBannerView.h"
系統(tǒng)要求
該庫最低支持 iOS 9.0 和 Xcode 9.0。
評論
圖片
表情
