2012-02-14 7 views
0

私のビューの1つにページコントロールとスクロールビューが実装されています。現時点では2ページ、スクロールビューのコンテンツサイズは496(各ページは248)に設定されています。更新とスクロールが正しく行われても、すべてうまく動作しますが、私の左または右にページがない場合でもスクロールを続けることができることに気づいています。iOSページコントロールのスクロールロック

私は最初のページにいる場合は左にスクロールを無効にする方法がありますか、または最後のページにいる場合は右にスクロールを無効にする方法はありますか?私のしていることを見るには、私のコードスニペットを見てください。

// Initialize the scroll view 
scrollView.pagingEnabled = YES; 
scrollView.contentSize = CGSizeMake(scrollView.frame.size.width * 2, scrollView.frame.size.height); 
scrollView.showsHorizontalScrollIndicator = NO; 
scrollView.showsVerticalScrollIndicator = NO; 
scrollView.scrollsToTop = NO; 
scrollView.delegate = self; 

// Functions called for the page control/scrollview 
- (void)loadScrollViewWithPage:(int)page window:(UIView *)pageView 
{ 
    if(page < 0 || page >= pageControl.numberOfPages) 
    { 
     return; 
    } 

    // Add our view 
    CGRect frame = scrollView.frame; 
    frame.origin.x = frame.size.width * page; 
    frame.origin.y = 0; 
    [pageView setFrame:frame]; 
    [scrollView addSubview:pageView]; 
} 

- (void)scrollViewDidScroll:(UIScrollView *)sender 
{ 
    // Update our page when we have more than 50% of the adjacent page available 
    CGFloat pageWidth = scrollView.frame.size.width; 
    int page = floor((scrollView.contentOffset.x - pageWidth/2)/pageWidth) + 1; 

    if(page < 0 || page >= pageControl.numberOfPages) 
    { 
     return; 
    } 

    pageControl.currentPage = page; 

    [pageControl setNeedsDisplay]; 
} 

答えて

0

私はそれを理解しました。どうやら、境界を越えた後でもユーザーがスクロールを続けることができる「バウンス」プロパティがありました。これをオフにすると、ウィンドウがロックされます。

関連する問題