- 使用簡(jiǎn)單、功能豐富的
Objective-C版輪播控件, 基于UICollectionView實(shí)現(xiàn), 多種場(chǎng)景均支持使用. - 源碼地址: YJBannerView
Effect

image.png
Features
- 支持自帶PageControl樣式配置, 也支持自定義
- 支持上、下、左、右四個(gè)方向自動(dòng)、手動(dòng)動(dòng)滾動(dòng)
- 支持自動(dòng)滾動(dòng)時(shí)間設(shè)置
- 支持首尾循環(huán)滾動(dòng)的開關(guān)
- 支持滾動(dòng)相關(guān)手勢(shì)的開關(guān)
- 支持ContentMode的設(shè)置
- 支持Banner標(biāo)題的設(shè)置自定義
- 支持自定義UICollectionViewCell
- 支持自定義 UIView 填充BannerView
- 支持在Storyboard\xib中創(chuàng)建并配置其屬性
- 支持非首尾循環(huán)的Footer樣式和進(jìn)入詳情回調(diào)
- 不依賴其他三方SDWebImage或者AFNetworking設(shè)置圖片
- 支持CocoaPods
- 支持Carthage
Installation
Cocoapods
YJBannerView is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod 'YJBannerView'
Carthage
github "YJManager/YJBannerViewOC"
Usage
1.創(chuàng)建BannerView:
-(YJBannerView *)normalBannerView{
if (!_normalBannerView) {
_normalBannerView = [YJBannerView bannerViewWithFrame:CGRectMake(0, 20, kSCREEN_WIDTH, 180) dataSource:self delegate:self placeholderImageName:@"placeholder" selectorString:@"sd_setImageWithURL:placeholderImage:"];
_normalBannerView.pageControlAliment = PageControlAlimentRight;
_normalBannerView.autoDuration = 2.5f;
}
return _normalBannerView;
}
2.實(shí)現(xiàn)數(shù)據(jù)源方法和代理:
// 將網(wǎng)絡(luò)圖片或者本地圖片 或者混合數(shù)組
- (NSArray *)bannerViewImages:(YJBannerView *)bannerView{
return self.imageDataSources;
}
// 將標(biāo)題對(duì)應(yīng)數(shù)組傳遞給bannerView 如果不需要, 可以不實(shí)現(xiàn)該方法
- (NSArray *)bannerViewTitles:(YJBannerView *)bannerView{
return self.titlesDataSources;
}
// 代理方法 點(diǎn)擊了哪個(gè)bannerView 的 第幾個(gè)元素
-(void)bannerView:(YJBannerView *)bannerView didSelectItemAtIndex:(NSInteger)index{
NSString *title = [self.titlesDataSources objectAtIndex:index];
NSLog(@"當(dāng)前%@-->%@", bannerView, title);
}
擴(kuò)展自定義方法
// 自定義Cell方法
- (Class)bannerViewCustomCellClass:(YJBannerView *)bannerView{
return [HeadLinesCell class];
}
// 自定義Cell的數(shù)據(jù)刷新方法
- (void)bannerView:(YJBannerView *)bannerView customCell:(UICollectionViewCell *)customCell index:(NSInteger)index{
HeadLinesCell *cell = (HeadLinesCell *)customCell;
[cell cellWithHeadHotLineCellData:@"打折活動(dòng)開始了~~快來搶購(gòu)啊"];
}
Demo地址: GithubDemo