美文网首页
iOS 造轮子之循环滚动的bannerView(OC)

iOS 造轮子之循环滚动的bannerView(OC)

作者: LazyLoad | 来源:发表于2017-08-25 14:21 被阅读0次
BHBannerView.gif

今天 这个轮子是 可以循环滚动的 banner 支持只文字 循环 或者图片banner的循环!!

网上也有很多这方面大神的 第三方库 我也是和别人学习 希望有一个自己的循环库

废话不多说,看看我的能给大家带来什么。。。

先说这个库如何使用(导入头文件那些话不说了)

图片轮播:
实例化对象,遵守协议,实现协议中的两个方法
BHBannerCircleViewCustom *bannerView = [[BHBannerCircleViewCustom alloc] initWithDelegate:self];
    
    bannerView.frame = CGRectMake(0, 20, self.view.bounds.size.width, 200);
    [self.view addSubview:bannerView];
    bannerView.scrollDirection = UICollectionViewScrollDirectionVertical;
    bannerView.scrollDuration = 1.5;


/**
 必须实现的代理方法,返回总页数

 @param bannerCircleView bannerCircleView
 @return 返回总的页数
 */
- (NSInteger)numberOfPagesForBannerCircleView:(BHBannerCircleView *)bannerCircleView;


/**
 设置cell数据源

 @param bannerCircleView bannerCircleView
 @param cell cell的类型由注册时候决定,需要转换为相应的类型来使用
 @param index index
 */
- (void)bannerCircleView:(BHBannerCircleView *)bannerCircleView setupPageCell:(UICollectionViewCell *)cell withIndex:(NSInteger)index;

还有一种需求是只有文字的循环:比如展示中奖信息
用法与上一种类似

 BHTextOnlyCircleView *textOnlyView = [[BHTextOnlyCircleView alloc] initWithDelegate:self];
    textOnlyView.backgroundColor = [UIColor orangeColor];
    textOnlyView.frame = CGRectMake(0, 250, self.view.bounds.size.width, 30);
    [self.view addSubview:textOnlyView];
    _textOnlyView = textOnlyView;

网上类似的确实很多,我觉得这个库提供一个很好的思路,就是更灵活。
如果我们有别的需求,不是单纯的文字,或者单纯的图片轮播,我们也可以自己写一个,方法如下:

自定义View,继承自BHBannerCircleView,实现子类里的两个方法,具体方法可以参考我的。

// 子类实现
- (void)registerCellForCollectionView:(UICollectionView *)collectionView
{
    
}

// 子类实现
- (UICollectionViewCell *)dequeueReuseableCellForCollectionView:(UICollectionView *)collectionView withIndexPath:(NSIndexPath *)indexPath
{
    return nil;
}

这样你就可以循环任何你想循环的东西了!!

你想看里面的具体代码,先给个star吧
GitHub地址:https://github.com/BaiHan1989/BHBannerView.git

相关文章

网友评论

      本文标题:iOS 造轮子之循环滚动的bannerView(OC)

      本文链接:https://www.haomeiwen.com/subject/oecudxtx.html