0

我正在尝试使用page control. 这就是我所做的。我已经在我的视图中添加了一个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]; 

就像你可以看到我有四个图像的数组。我在图像视图上添加了一个页面控件。我还在 imageView 上添加了两个滑动手势(左右)。我现在想要做的是,当我刷卡时:

  • 图片变了
  • 点已更新为数组中的正确位置

这是我的右滑代码:

- (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];
}

问题

我的图像正在正确更改。但是我的 pagecontrol 点没有更新,而且它只显示 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 回答