2012-04-20 30 views
2

私は水平にスクロールできるスクロールビューを作成しました。私が直面している問題は、ユーザーが一度に1ページずつスクロールするだけで、現時点ではユーザーがエミュレータのスクロールビューをスクロールして2ページをスクロールするようにしたいという問題です。UIScrollView:一度に1ページずつスクロールする方法

誰も一度に1ページだけスクロールするようにスクロールビューを保持する方法を知っていますか?私はページングを有効にしています。例えば

答えて

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

- (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の場合は不要です)。

関連する問題