UIScrollView循环滚动(前后各加一张图片)
2015-12-07 15:36
483 查看
#define IMAGECOUNT 6
/**
* 设置scrollView
*/
-(void)setupScrollView
{
CGRect rect = [UIScreen
mainScreen].bounds;
self.size = rect.size;
self.scrollView = [[UIScrollView
alloc]initWithFrame:rect];
[self.scrollView
setContentSize:CGSizeMake(self.size.width *
IMAGECOUNT,
self.size.height)];
[self.scrollView
setShowsHorizontalScrollIndicator:NO];
[self.scrollView
setPagingEnabled:YES];
[self.scrollView
setDelegate:self];
[self.scrollView
setContentOffset:CGPointMake(self.size.width,
0)];
[self.view
addSubview:self.scrollView];
[self setupPic];
}
/**
* 设置图片
*/
-(void)setupPic
{
CGFloat x = 0;
CGFloat y = 0;
CGFloat w = self.size.width;
CGFloat h = self.size.height;
for (NSInteger i =
0; i < IMAGECOUNT; i++) {
UIImage *image =
nil;
if (i == 0) {
//在第一张图片之前放最后一张图片
image = [UIImage
imageNamed:@"new_feature_4"];
}
else if (i +
1 == IMAGECOUNT) {
//在最后一张图片之后放第一张图片
image = [UIImage
imageNamed:@"new_feature_1"];
}
else{
image = [UIImage
imageNamed:[NSString
stringWithFormat:@"new_feature_%ld",i]];
}
x = i * w;
UIImageView *imageView = [[UIImageView
alloc]initWithImage:image];
[imageView setFrame:CGRectMake(x, y, w, h)];
[self.scrollView
addSubview:imageView];
}
}
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
CGFloat x = scrollView.contentOffset.x;
//当滑动到最后一张时,也就是第一张,设置scrollView的x偏移
if ((x + self.size.width) >= scrollView.contentSize.width)
{
[scrollView setContentOffset:CGPointMake(self.size.width,
0)];
}
//当滑动到第一张时,就是最后一张,设置scrollView的x偏移
if (x == 0) {
[scrollView setContentOffset:CGPointMake(self.size.width
* 4,
0)];
}
}
/**
* 设置scrollView
*/
-(void)setupScrollView
{
CGRect rect = [UIScreen
mainScreen].bounds;
self.size = rect.size;
self.scrollView = [[UIScrollView
alloc]initWithFrame:rect];
[self.scrollView
setContentSize:CGSizeMake(self.size.width *
IMAGECOUNT,
self.size.height)];
[self.scrollView
setShowsHorizontalScrollIndicator:NO];
[self.scrollView
setPagingEnabled:YES];
[self.scrollView
setDelegate:self];
[self.scrollView
setContentOffset:CGPointMake(self.size.width,
0)];
[self.view
addSubview:self.scrollView];
[self setupPic];
}
/**
* 设置图片
*/
-(void)setupPic
{
CGFloat x = 0;
CGFloat y = 0;
CGFloat w = self.size.width;
CGFloat h = self.size.height;
for (NSInteger i =
0; i < IMAGECOUNT; i++) {
UIImage *image =
nil;
if (i == 0) {
//在第一张图片之前放最后一张图片
image = [UIImage
imageNamed:@"new_feature_4"];
}
else if (i +
1 == IMAGECOUNT) {
//在最后一张图片之后放第一张图片
image = [UIImage
imageNamed:@"new_feature_1"];
}
else{
image = [UIImage
imageNamed:[NSString
stringWithFormat:@"new_feature_%ld",i]];
}
x = i * w;
UIImageView *imageView = [[UIImageView
alloc]initWithImage:image];
[imageView setFrame:CGRectMake(x, y, w, h)];
[self.scrollView
addSubview:imageView];
}
}
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
CGFloat x = scrollView.contentOffset.x;
//当滑动到最后一张时,也就是第一张,设置scrollView的x偏移
if ((x + self.size.width) >= scrollView.contentSize.width)
{
[scrollView setContentOffset:CGPointMake(self.size.width,
0)];
}
//当滑动到第一张时,就是最后一张,设置scrollView的x偏移
if (x == 0) {
[scrollView setContentOffset:CGPointMake(self.size.width
* 4,
0)];
}
}
相关文章推荐
- 顶部可滚动小广告位 的封装 (UIScrollView+PageControl)
- ios7 中关于导航切换影响UIScrollView的问题
- 两个UIScrollVIew能够同步滚动
- UIScrollview要加载大量数据的时候,考虑到内存的消耗问题,我们不可能全部加载完。
- UIScrollview 无缝循环滚动实现
- 解决 IOS的UIScrollView的自动布局
- UIScrollView无法滚动的问题
- cocos2d-x 一些有用的函数
- IOS UIscrollView 控件
- 关于NGUI中UITexture贴图自定义的shader文件在UISrollView中不报错的解决方案
- 缩放图片
- UIScrollView缩放
- UIScrollView的属性总结
- UIScrollView常用属性及回调方法
- IOS-UIScrollView滚动图片的简单实现
- UIScrollView的使用大全--contentsize,contentInset和contentInset
- 使用UINavigationController后导致UIScollView尺寸变化(转)
- UIScrollView里面实现视图的移动缩放,点击事件
- [无限互联] ios开发之框架HGPageScrollView浅谈
- UIScrollView实现的简单视图切换