我制作了一个可以水平滚动的滚动视图。我面临的问题是,我希望用户一次只滚动一页,但此时用户可以滚动模拟器上的滚动视图并滚动两页。
有谁知道如何让scrollview一次只滚动一页?目前我有分页启用。
答案 0 :(得分:3)
假设您必须在数组中显示一些图像。
[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 :(得分: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;
}
答案 2 :(得分:0)
你一定做错了。如果启用了分页,它将自动与页面对齐(页面大小为scrollview框架的大小)。也许你在某处以编程方式进行分页(如果pagingEnabled为true则不需要)。
没有代码
,分不清楚