3.无限轮播
简述:无限轮播是大家在项目里面都会遇到的一件事,一般是用UIScrollView或者UICollectionView来做的,下面介绍几种用法
1.网络加载的图片连接来实现无限轮播
<1> UICollectionView做的服务器请数据回来来展示数据的轮播
网络的连接的无限轮播 放到代码里
加载网络图片连接的代码 密码: nnr3
<2> DCPicscrollView封无限轮播,作为uitabviewcell的第一段(常用)
DCPicscrollView封无限轮播-
加载用网络图片(调用下面的两个方法) 数组是网络请求的数组连接和本地图片的连接
static NSString *cellID = @"cellID"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellID]; if (!cell) { cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellID]; } if(array.count > 0){ [self demo1:array view:cell]; }else{ [self demo2:dataArray view:cell]; } return cell;
- (void)demo1:(NSArray *)netArr view:(UIView *)view{
//显示顺序和数组顺序一致
//设置图片url数组,和滚动视图位置
DCPicScrollView *picView = [DCPicScrollView picScrollViewWithFrame:CGRectMake(0, 0, WIDTH, 250) WithImageUrls:netArr];
//图片被点击事件,当前第几张图片被点击了,和数组顺序一致
[picView setImageViewDidTapAtIndex:^(NSInteger index) {
printf("第%zd张图片\n",index); /* LunBomodel *modell = lunBodataArray[index]; WebViewController *webViewController = [[WebViewController alloc]init]; webViewController.lianjie = modell.ad_url; [self.navigationController pushViewController:webViewController animated:YES]; */
}];
//default is 2.0f,如果小于0.5不自动播放 picView.AutoScrollDelay = 3.0f;//滑动速度 // picView.textColor = [UIColor redColor]; [view addSubview:picView]; //下载失败重复下载次数,默认不重复, [[DCWebImageManager shareManager] setDownloadImageRepeatCount:1]; //图片下载失败会调用该block(如果设置了重复下载次数,则会在重复下载完后,假如还没下载成功,就会调用该block) //error错误信息 //url下载失败的imageurl [[DCWebImageManager shareManager] setDownLoadImageError:^(NSError *error, NSString *url) { NSLog(@"%@",error);
}];
}
//本地加载只要放图片名数组就行了****************************
-(void)demo2:(NSArray *)arr view:(UIView *)view {
DCPicScrollView *picView1 = [DCPicScrollView picScrollViewWithFrame:CGRectMake(0,0,WIDTH, 250) WithImageUrls:arr];
picView1.backgroundColor = [UIColor clearColor];
[picView1 setImageViewDidTapAtIndex:^(NSInteger index) {//这里是显示点击的第几张图片
}];
picView1.AutoScrollDelay = 3.0f; [view addSubview:picView1];
}
DCPicscrollView封无限轮播 密码: ak2e
<3>真实的无限轮播以及下面的布局思路
- (void)demo1:(NSArray *)netArr view:(UIView *)view{
真实的无限轮播以及下面的布局思路 密码: uq43
2.本地的无限轮播
<1>采用自己封装的类来做的GGBannerView(里面用UICollectionView做的)
本地的无限轮播
使用方法:(具体的到里面一看就明白了)
GGBannerView *bannerView = [[GGBannerView alloc]initWithFrame:CGRectMake(0, 100, 414, 200)];
bannerView.isTimer = YES;
bannerView.delegate =self;//在这里挂代理是为了方便在有网络时知道点击的shi哪张图片跳进那个连接里面
[self.view addSubview:bannerView];//把视图放到表头或者其他地方
bannerView.sourceArray = @[@"1.jpg",@"2.jpg",@"3.jpg",@"4.jpg"];//放图片的名字就好
//当点击图片是知道点击的是哪一张
- (void)bannerViewCurrentPage:(NSInteger)currentPage
{
NSLog(@"%ld",currentPage);
}
本地无限轮播的源码 密码: 8dh7
可以拉伸的本地无限轮播的源码 密码: k47v
3.其他的无限轮播
循环滚动 密码: qag4
瀑布流轮播 密码: dnb5
轮播支持本地图片和网络图片 密码: 2k84
广告图的无限循环滚动 密码: cq8k
播放本地的gif图 密码: gtjj
3D效果轮播 密码: icka
3D动画轮播图 密码: 5ue3