一句话完成无限轮播器的编程

来源:互联网 发布:做市商交易制度知乎 编辑:程序博客网 时间:2024/06/05 03:00

本轮播器不采用什么 collectionView,也不使用XIB,更不依赖第三方下载框架(如AFN等),使用也非常简单,先上效果图




其中指示器pagecontrol效果自己可以设置,效果一



效果二



如何使用

步骤如下

1、

#import "TGCarouselImageView.h"


2、

NSArray *imageArray = @[@"http://pgdt.gtimg.cn/gdt/0/DAALCBEAUAALQABgBZG91dAJ9Xbcmb.jpg/0?ck=b6702b77e6a8e7034439a460c24e8a1d",                                @"http://pgdt.gtimg.cn/gdt/0/15e08f34b958e105e658cb7be92ae497.JPG/0?ck=b2b25b3a666748f9515af9037445a26d"];        NSMutableArray *describeArray = [[NSMutableArray alloc] init];        for (NSInteger i = 0; i < imageArray.count; i++) {            NSString *tempDesc = [NSString stringWithFormat:@"Image Description %zd", i];            [describeArray addObject:tempDesc];        }        TGCarouselImageView *carouselIV = [TGCarouselImageView tg_carouselImageViewWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 200) imageArrary:imageArray describeArray:nil placeholderImage:[UIImage imageNamed:@"adph2.jpg"] block:^(NSInteger index) {            //your code        }];                carouselIV.pageIndicatorTintColor = [[UIColor whiteColor] colorWithAlphaComponent:0.3];        carouselIV.currentPageIndicatorTintColor = [UIColor redColor];                self.tableView.tableHeaderView = carouselIV;


更多初始或实例化方式,共七种,选择自己喜欢的方式,都是一行代码实例化后就使用

+ (instancetype)tg_carouselImageViewWithFrame:(CGRect)frame imageArrary:(NSArray *)imageArrary;+ (instancetype)tg_carouselImageViewWithFrame:(CGRect)frame imageArrary:(NSArray *)imageArrary describeArray:(NSArray *)describeArray;+ (instancetype)tg_carouselImageViewWithFrame:(CGRect)frame imageArrary:(NSArray *)imageArrary describeArray:(NSArray *)describeArray placeholderImage:(UIImage *)placeholderImage;+ (instancetype)tg_carouselImageViewWithFrame:(CGRect)frame imageArrary:(NSArray *)imageArrary describeArray:(NSArray *)describeArray placeholderImage:(UIImage *)placeholderImage delegate:(id<TGCarouselImageViewDelegate>)delegate;+ (instancetype)tg_carouselImageViewWithFrame:(CGRect)frame imageArrary:(NSArray *)imageArrary describeArray:(NSArray *)describeArray placeholderImage:(UIImage *)placeholderImage block:(DidTapCarouselImageViewAtIndexBlock)block;- (instancetype)initWithFrame:(CGRect)frame imageArrary:(NSArray *)imageArrary describeArray:(NSArray *)describeArray placeholderImage:(UIImage *)placeholderImage delegate:(id<TGCarouselImageViewDelegate>)delegate;- (instancetype)initWithFrame:(CGRect)frame imageArrary:(NSArray *)imageArrary describeArray:(NSArray *)describeArray placeholderImage:(UIImage *)placeholderImage block:(DidTapCarouselImageViewAtIndexBlock)block;

一句话完成无限轮播指的就是类似下面的使用

TGCarouselImageView *carouselIV = [TGCarouselImageView tg_carouselImageViewWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 200) imageArrary:imageArray describeArray:nil placeholderImage:[UIImage imageNamed:@"adph3.jpg"] block:^(NSInteger index) {            //block        }];

除了block方式,也可以使用代理方式,随自己喜欢

参数说明

(CGRect)frame 轮播器的大小

imageArrary:(NSArray *)imageArrary 图片数组,如果加入的为字符串,表示网络图片,如果传入的是uiimage,表示实例化好的图片(如本地图片)

describeArray:(NSArray *)describeArray 表示对上面数组的文字说明

placeholderImage:(UIImage *)placeholderImage 占位图,如果网络问题不能下载网络图片,使用占位图

block:(DidTapCarouselImageViewAtIndexBlock)block 点击图片的回调,Block方式使用

delegate:(id<TGCarouselImageViewDelegate>)delegate 同上,,Block方式使用


完整的使用示例参见https://github.com/targetcloud/baisibudejie

如果你觉得赞,请star


原创粉丝点击