YVBanner


安装
1.cocoapod
pod 'YVBanner', '~> 1.5.3'
2.将文件添加到您的项目中
更新
-
2018.08.29 首次版本 v1.0
-
2018.08.31 bug修复 v1.1
-
2018.08.31 添加AutoScroll v1.2
-
2018.09.03 支持自定义动画 v1.3
-
2019.06.14 移除对SDWebImage的依赖 v1.4
-
2019.06.23 customImageView,添加 SepeWidth v1.5
-
2019.06.23 bug修复 v1.5.1
-
2019.06.23 支持垂直 v1.5.2
-
2019.06.23 自动滚动回顶部 v1.5.2
如何使用
导入 "YVBanner.h"
初始化 YVBanner
_bannerView = [[YVBanner alloc]initWithFrame:CGRectMake(0, Navigation_Height, IPHONE_WIDTH, 300-Navigation_Height)];
[self.view addSubview:_bannerView];
设置图片
NSArray *array =@[[UIImage imageNamed:@"timg-1.jpeg"],@"https://timgsa.baidu.com/timg?image&src=http%bb60.jpg",[NSURL URLWithString:@"https://timgsa.baidu.com/timg?image2f3f36bfef3dd8.jpg"],[UIImage imageNamed:@"timg-2.jpeg"]];
[self.bannerView loadWithCount:array.count SetImages:^(iCarousel *carousel,UIView *view, NSInteger index) {
UIImageView *imageView = (UIImageView *)view;
if (!imageView) {
imageView = [[UIImageView alloc]initWithFrame:carousel.bounds];
imageView.contentMode = UIViewContentModeScaleAspectFill;
imageView.clipsToBounds = YES;
}
id obj = array[index];
if ([obj isKindOfClass:[UIImage class]]) {
imageView.image = obj;
}
else if ([obj isKindOfClass:[NSString class]] && [obj hasPrefix:@"http"]){
[imageView sd_setImageWithURL:[NSURL URLWithString:obj] placeholderImage:nil];
}
else if ([obj isKindOfClass:[NSURL class]]){
[imageView sd_setImageWithURL:obj placeholderImage:nil];
}
return imageView;
}];
设置 IndicatorType && IndicatorType
_bannerView.indicatorType = YVIndicatorTypePageControl;
_bannerView.indicatorPosition = YVIndicatorPositionRightDown;
设置 Wrap && CurrentIndex
_bannerView.wrap = YES;
_bannerView.currentIndex = 3;
设置自动滚动时间
//if timeInverval < 0,scroll to lastPage
_bannerView.timeInverval = 2.0f;
切换页面 && 点击页面
_bannerView.clickBannerBlock = ^(NSInteger index) {
NSLog(@"clickImageAtIndex:%ld",(long)index);
};
_bannerView.scrollBannerBlock = ^(NSInteger index) {
NSLog(@"scrollToIndex:%ld",(long)index);
};
自定义动画
1.设置bannerView的carousel dataSource和delegate
//自定义动画(Mac版QQ音乐样式)
_bannerView.customAnimationBlock = ^CATransform3D(iCarousel *carousel, CGFloat offset, CATransform3D transform) {
//do customAnimations
//[Please check iCarousel](https://github.com/nicklockwood/iCarousel)
}