如何控制ScrollView,不会一次又一次地重复

时间:2012-11-15 09:30:01

标签: iphone ios uiscrollview scroll scrollview

您知道吗,如何控制ScrollView,因此不再重复。例如,我有5张图片(如添加的图片),它们应该可以从1-5看到,它应该在最后一张图片后面停止,同时它应该能够向后滚动并在第一张图片后停止。总而言之,它应该只能从1-5开始,而不是在第5张照片之后和第1张之前重复。

现在的问题是,它在第​​5张之后进一步滚动,所以它再次从第1张照片开始,反过来当它向后滚动到第1张照片时它会继续向第5张等等。

我用于此的代码是: "InfinitePagingView"页面!。

已禁用滚动:

   scrollEnabled = NO;

enter image description here
我想知道的是,如果我能够在第5张照片之后立即停止滚动,但它应该只能在右侧执行此操作。那么有没有任何代码:“scrollEnable right = NO& scrollEnable left = NO”。如果没有,我可以使用哪个代码。

提前谢谢

2 个答案:

答案 0 :(得分:1)

所以你想要在右侧无限滚动,而不是在左侧?您需要自定义您正在使用的InfinitePagingView。查看代码,尤其是方法scrollView:didScroll,并在左侧禁用它。

这不是默认行为,因此没有要设置的简单属性。但是你不觉得这是一种奇怪的行为吗?如果你向右滚动并翻过第5张图片,那么你再次在第一张图片上滚动,你不能再滚动到左边了?虽然你刚来自那个地方?

如果您不想要任何无限滚动,只需使用默认的scrollView!

答案 1 :(得分:0)

我使用以下代码在Scrollview中显示5个UIButton,它可以随意使用。您可以将它用于5张图片检查。

- (void)viewDidLoad 
 {

UIScrollView *scrollview = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 407, 320, 80)]; 
[self.view addSubview:scrollview];
int i;
int spacex = 5;
int spacey=5;
for ( i = 0; i <5; i++) 
{   
    UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
    btn = [[UIButton alloc] initWithFrame:CGRectMake(spacex, spacey, 115, 45)];
    btn.backgroundColor = [UIColor greenColor]; 
    [btn setTitleColor: [UIColor blackColor] forState: UIControlStateNormal];
    spacex = spacex + 120;
    [scrollview addSubview:btn];
}
  scrollview.contentSize = CGSizeMake(scrollview.frame.size.height*(i+2) , scrollview.frame.size.height); 
 [super viewDidLoad];
}

你可以根据你的要求改变它。它适合你。谢谢。