2

我正在构建一个带有 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 原点添加空间,以便在最后一个和第一个图像以及滚动视图边缘之间留出空间,因此它们总是在滚动视图的中心完成。我尝试了不同的方法,但图像重叠。

谢谢

4

1 回答 1

1

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

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

于 2012-05-30T09:54:37.450 回答