我正在构建一个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 :(得分:1)
您没有在图像之间添加任何间隙。 yOrigin值始终位于上一个图像的旁边。
您应该将图像索引的边距(在您的情况下为3个点)添加到原点,如下所示:CGFloat yOrigin = i * (myImage.size.width + 3) + 120;