无限循环轮播图实现
2015-04-09 15:14
288 查看
1. 导入XLCycleScrollView
2. 设置代理
3.
//无限循环轮播图
// _bannerScroll = [[XLCycleScrollView alloc] initWithFrame:CGRectMake(0, 64, self.view.width, 200)];
// _bannerScroll.datasource = self;
// _bannerScroll.delegate = self;
// [self.view addSubview:_bannerScroll];
4. 实现代理 默认第一张为本地图片 其余为网络请求的图片
#pragma mark
- (NSInteger)numberOfPages
{
return _list.count+1;
}
- (UIView *)pageAtIndex:(NSInteger)index
{
//小圆点跟随轮播图而
_page.currentPage = index - 1;
if (index == 1) {
_animation = [CABasicAnimation animationWithKeyPath:@"position"];
_aView.top = 64;
[_aView.layer addAnimation:_animation forKey:@"cc"];
}else{
_animation = [CABasicAnimation animationWithKeyPath:@"position"];
[_aView.layer addAnimation:_animation forKey:@"cc"];
_aView.top = -_aView.height;
}
UIImageView *imgView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 200)];
if (index == 0 || [src isEqualToString:@""]) {
imgView.image = [UIImage imageNamed:@"万佳-new轮播ios.jpg"];
}else{
[imgView sd_setImageWithURL:[NSURL URLWithString:[[_list objectAtIndex:index -1] objectForKey:@"src"]]];
imgView.contentMode = UIViewContentModeScaleAspectFill;
imgView.clipsToBounds = YES;
}
return imgView;
}
#pragma mark -XLCycleScrollViewDelegate
- (void)didClickPage:(XLCycleScrollView *)csView atIndex:(NSInteger)index
{
NSLog(@"点击轮播图1");
AdvertisementViewController *advertisementVC = [[AdvertisementViewController alloc] init];
self.tabBarView.hidden = YES;
if (index ==0) {
return;
}
advertisementVC.url = [[_list objectAtIndex:index - 1] objectForKey:@"href"];
NSLog(@"-----url=%@", advertisementVC.url);
[self.navigationController pushViewController:advertisementVC animated:YES];
}
2. 设置代理
3.
//无限循环轮播图
// _bannerScroll = [[XLCycleScrollView alloc] initWithFrame:CGRectMake(0, 64, self.view.width, 200)];
// _bannerScroll.datasource = self;
// _bannerScroll.delegate = self;
// [self.view addSubview:_bannerScroll];
4. 实现代理 默认第一张为本地图片 其余为网络请求的图片
#pragma mark
- (NSInteger)numberOfPages
{
return _list.count+1;
}
- (UIView *)pageAtIndex:(NSInteger)index
{
//小圆点跟随轮播图而
_page.currentPage = index - 1;
if (index == 1) {
_animation = [CABasicAnimation animationWithKeyPath:@"position"];
_aView.top = 64;
[_aView.layer addAnimation:_animation forKey:@"cc"];
}else{
_animation = [CABasicAnimation animationWithKeyPath:@"position"];
[_aView.layer addAnimation:_animation forKey:@"cc"];
_aView.top = -_aView.height;
}
UIImageView *imgView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 200)];
if (index == 0 || [src isEqualToString:@""]) {
imgView.image = [UIImage imageNamed:@"万佳-new轮播ios.jpg"];
}else{
[imgView sd_setImageWithURL:[NSURL URLWithString:[[_list objectAtIndex:index -1] objectForKey:@"src"]]];
imgView.contentMode = UIViewContentModeScaleAspectFill;
imgView.clipsToBounds = YES;
}
return imgView;
}
#pragma mark -XLCycleScrollViewDelegate
- (void)didClickPage:(XLCycleScrollView *)csView atIndex:(NSInteger)index
{
NSLog(@"点击轮播图1");
AdvertisementViewController *advertisementVC = [[AdvertisementViewController alloc] init];
self.tabBarView.hidden = YES;
if (index ==0) {
return;
}
advertisementVC.url = [[_list objectAtIndex:index - 1] objectForKey:@"href"];
NSLog(@"-----url=%@", advertisementVC.url);
[self.navigationController pushViewController:advertisementVC animated:YES];
}
相关文章推荐
- ViewPager实现无限循环,左右滑动,定时轮播及内存泄漏处理
- Android 3D画廊采用Gallery实现无限循环、自动轮播
- 手把手、脑把脑教你实现一个无限循环的轮播控件
- 无限循环的轮播图ViewPager实现
- [置顶] 使用ViewFlow实现无限循环轮播图和滑动冲突解决
- 手把手教你实现一个无限循环的轮播控件
- Android实现轮播图无限循环效果
- iOS实现无限循环轮播图效果
- Android使用ViewPager实现无限循环滑动及轮播(附源码)
- Android实现带指示点的自动轮播无限循环效果
- 使用Handler中postDelayed方法实现广告页面无限循环轮播效果
- Android ViewPager实现无限循环轮播广告位Banner效果
- android 自定义无限循环播放的viewPager。轮播ViewPager。实现循环播放 广告,主题内容,活动,新闻内容时。
- Android使用ViewPager实现无限循环滑动及轮播(附源码)
- Android viewpager实现无限循环轮播
- 轮播banner,实现旋转木马效果,Galler 效果,可无限循环自动播放、拖拽
- iOS使用UIScrollView实现无限循环轮播图效果
- Android使用ViewPager实现无限循环滑动及轮播(附源代码)
- Android高仿京东淘宝自动无限循环轮播控件的实现思路和过程
- 原生js实现无限循环轮播图效果