UIScrollView:如何一次滚动一页

问题描述 投票:0回答:3

我制作了一个可以水平滚动的滚动视图。我面临的问题是我希望用户一次只滚动一页,但此时用户滚动模拟器上的滚动视图并滚动两页。

有谁知道如何让滚动视图一次只滚动一页?目前我启用了寻呼功能。

objective-c iphone scroll pagination uiscrollview
3个回答
4
投票

假设您必须在数组中显示一些图像。

[yourScroll setContentSize CGSizeMake( [arrayImages count]*320 , 420)];
[yourScroll setPagingEnabled : YES];
int incX = 0 ;

for( int i = 0; i < [arrayImages count]; i++)
{
  UIImageView *imgView = [[UIImageView alloc]initWithFrame : CGRectMake(0,0,320,420)];
  UIView *myView = [UIView alloc]initWithFrame : CGRectMake (incX,0,320,420);
  imgView.image = [UIImage imageNamed:[NSString stringWithFormat:@"%@",[arrayImages objectAtIndex : i]]];
  [myView addSubView : imgView];  
  [yourScroll addSubView : myView];
   incX+= 320;
}

1
投票

例如:

- (IBAction)changePage:(id)sender 
{        
    NSInteger _currentPage = self.pageControl.currentPage;
    CGPoint offset = CGPointMake(_currentPage * self.scrollView.frame.size.width, 0);
    [self.scrollView setContentOffset:offset animated:YES];
    pageControlUsed = YES;
}

0
投票

你肯定做错了什么。如果启用了分页,它将自动与页面对齐(其中页面大小是滚动视图框架的大小)。也许您正在某处以编程方式进行分页(如果 pagingEnabled 为 true,则不需要)。

没有代码就无法了解更多

© www.soinside.com 2019 - 2024. All rights reserved.