2011-12-19 14 views
1

5つのビューを含むスクロールビューがあり、ページコントロールの4番目のバブルをクリックすると2番目のビューに移動しますが、4番目のビューに直接移動する必要があります問題。次のようにpageControlのページコントロールを直接切り替える

呼び出しは次のとおりです。

- (void) pageTurn: (UIPageControl *) aPageControl 
{ 
    int whichPage = aPageControl.currentPage; 

    [UIView beginAnimations:nil context:NULL]; 
    [UIView setAnimationDuration:0.5]; 
    [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; 
    scrollView.contentOffset = CGPointMake(320 * whichPage, 0); 
    [UIView commitAnimations]; 
} 

と、次のように私のscrollViewDidScrollは次のとおりです:次のようにpageTurn方法の

[pageControl addTarget:self action:@selector(pageTurn:)  forControlEvents:UIControlEventValueChanged]; 

実装です

- (void) scrollViewDidScroll: (UIScrollView *) aScrollView 
{ 
    CGPoint offset = aScrollView.contentOffset; 
    pageControl.currentPage = offset.x /320 ; 

} 

答えて

0

あなたが見ればドキュメントのUIPageControlで、次のように述べています。

ユーザーがページコントロールをタップして次または前のページに移動すると、コントロールはUIControlEventValueChangedイベントを送信してデリゲートによって処理されます。デリゲートは、currentPageプロパティを評価して、表示するページを決定します。 ページコントロールがいずれかの方向に1ページだけ進められます。

UIPageControlは、あなたがそれをクリックしたときので、それが唯一の(そして第四はないに関係なく、あなたが押したものをドット、)2ページ目に変化しない、一度に1ページを切り替えるために使用することができます。

おそらく、ページネーションコントロールを構成するカスタムUIButtonを作成したいと思うでしょう。

+0

返信thnxと動作します –

関連する問題