您的位置:首页 > 产品设计 > UI/UE

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)];

    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  uiscrollview