ページコントロールを直接切り替える

私は5つのビューを含むスクロールビューを持っていて、ページコントロールの4番目のバブルをクリックしたときに2番目のビューに移動するが、私はそれを直接4番目のビューに移動する必要がありますこの問題を解決するのに役立ちます。

pageControlの呼び出しは次のようになります。

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

pageTurnメソッドの実装は次のとおりです。

- (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は次のようになります:

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

 }
1

1 答え

ドキュメントのUIPageControlを見ると、次のようになります。

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

UIPageControlは、一度に1ページずつ切り替えるためにのみ使用できます。そのため、クリックすると2ページ目に変わります(押したドットに関係なく4番目のページではありません)。

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

0
追加された
返信thnxとそれは動作します
追加された 著者 Pathetic Learner,