滚动视图中的图像之间的差距

时间:2012-05-29 17:05:17

标签: objective-c ios

我正在构建一个65x78大小的滚动视图。这是代码:

numberOfViews = [fotosJugadores count];

    for (int i = 0; i <    [fotosJugadores count]; i++) {

        UIImage *myImage = [UIImage imageNamed:[fotosJugadores objectAtIndex:i]];
        CGFloat yOrigin = i * myImage.size.width + 120;
        NSLog(@"my image %@", myImage);
        UIImageView *awesomeView = [[UIImageView alloc] initWithFrame:CGRectMake(yOrigin, 0, myImage.size.width, myImage.size.height)];
        awesomeView.tag = i;
        awesomeView.image = myImage;
        awesomeView.alpha = 0.5f;
        awesomeView.backgroundColor = [UIColor blackColor];
        [self.jugadorSlide addSubview:awesomeView];
        awesomeView=nil;

    }

    [jugadorSlide setBackgroundColor:[UIColor blackColor]];
    jugadorSlide.contentSize = CGSizeMake(65 * numberOfViews+240,78);
    jugadorSlide.layer.cornerRadius = 11;
    jugadorSlide.layer.masksToBounds = YES;
    [jugadorSlide setContentOffset:CGPointMake(((65 * numberOfViews)/2), 0)];
    //jugadorSlide.decelerationRate = UIScrollViewDecelerationRateNormal;
    [self scrollViewDidEndDragging:jugadorSlide willDecelerate:NO];

我试图在图像之间增加或减少3点的差距。我为内容大小和图像x原点添加了空格,以便在最后一个图像和第一个图像之间留出空间并滚动视图边缘,因此它们总是在滚动视图的中心完成。我尝试了不同的方法,但我得到了重叠的图像。

由于

1 个答案:

答案 0 :(得分:1)

您没有在图像之间添加任何间隙。 yOrigin值始终位于上一个图像的旁边。

您应该将图像索引的边距(在您的情况下为3个点)添加到原点,如下所示:CGFloat yOrigin = i * (myImage.size.width + 3) + 120;