2012-05-29 65 views
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原点添加空间,以便在最后一个图像和第一个图像之间留出空间并滚动视图边缘,因此它们始终在滚动视图的中心完成。我尝试过不同的方法,但我得到的图像重叠。

谢谢

+0

您不添加图像之间的任何间隙。 yOrigin值始终在前一个图像旁边。尝试使用:'CGFloat yOrigin = i *(myImage.size.width +3)+ 120;'。如果这不起作用,发布图片以便我们可以看到错误 –

+0

非常感谢您的回复,它完美的工作!请发表你的回答,所以我会给你投票。 – theomen

回答

1

您不会在图像之间添加任何间隙。 yOrigin值始终在前一个图像旁边。

你应该(3分你的情况)倍的图像索引添加您的保证金到原点,像这样:CGFloat yOrigin = i * (myImage.size.width + 3) + 120;