2012-05-29 86 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;