0

で作業しようとしていpage controlます。これが私がしたことです。のビューに 1 つ追加しましたstoryboard

それから私の中でViewDidLoad

   images = [[NSMutableArray alloc]initWithObjects:[UIImage imageNamed:@"img1.jpg"],[UIImage imageNamed:@"img2.jpg"],[UIImage imageNamed:@"img3.jpg"],[UIImage imageNamed:@"img4.jpg"], nil];
    pagecontrol = [[UIPageControl alloc]init];
    self.imageIndex = 0;
    [pagecontrol setNumberOfPages:images.count];
    [pagecontrol setCurrentPage:imageIndex]; 

ご覧のとおり、4 つの画像の配列があります。イメージビューにページ コントロールを追加しました。また、imageView に 2 つのスワイプ ジェスチャ (左と右) を追加しました。私が今やりたいことは、スワイプするときです:

  • イメージが変わる
  • ドットは配列内の正しい位置で更新されます

これは右スワイプの私のコードです:

- (void)next:(UITapGestureRecognizer *)recognizer {
    if(imageIndex == images.count-1){
        imageIndex = images.count-1;
    }else{
        imageIndex++;
    }
    [UIView transitionWithView:self.imgGallery
                      duration:1.0f
                       options:UIViewAnimationOptionTransitionCrossDissolve
                    animations:^{
                        self.imgGallery.image = [images objectAtIndex:imageIndex];

                    } completion:nil];
    [pagecontrol setCurrentPage:imageIndex];
}

問題

ちゃんとイメージが変わります。しかし、私のページコントロールドットは更新されておらず、3 つのドットしか表示されていません。

誰でも助けることができますか?

4

2 に答える 2

1
  1. スクロールビューでページングを有効にする

[self.scrollView setPagingEnabled:YES];

  1. デリゲートをスクロールビューに設定する
于 2013-03-26T11:38:16.057 に答える
0

ここで、pageControll を定義します

 [_tutorialPageControll addTarget:self action:@selector(changPage) forControlEvents:UIControlEventValueChanged];
_tutorialPageControll.currentPage = 0;
    _tutorialPageControll.numberOfPages = TutorialArray.count;

チャンのページが必要な場所

_tutorialPageControll.currentPage = imageIndex;
于 2013-03-26T11:35:26.167 に答える