0

我在呈现图像的故事板中有一个 ViewController,我希望有“下一个”和“上一个”按钮来移动包含不同图像的同一类的实例(10 个 viewController)。“第一个”实例是故事板的一部分,我手动编写了滚动条子视图的所有图像。现在的问题是如何正确添加手动 ViewController

  1. 我该如何处理?我一直在想,既然只有图像改变,我应该创建一个像“initWithImageArray”这样的实例方法吗?
  2. 我应该创建一个类实例的 MutableArray 吗?
  3. 如果是这样,有没有办法知道我是数组的哪个实例?所以我会知道什么时候“停止”而不显示“下一个”按钮或“上一个”按钮

    VCDecorations *page1 = [self.storyboard instantiateViewControllerWithIdentifier:@"VCDecorations"];
    VCDecorations *page2 = [self.storyboard instantiateViewControllerWithIdentifier:@"VCDecorations"];
    VCDecorations *page3 = [self.storyboard instantiateViewControllerWithIdentifier:@"VCDecorations"];
    DecoViewControllers = [[NSArray alloc]initWithObjects:page1,page2,page3, nil];
    

有没有知道我目前是在“page1”还是“page2”?

谢谢你。

4

2 回答 2

2

而不是使用不同的 viewControllers 使用单个 viewController 并将所有图像添加到一个数组中,当点击下一个或上一个按钮时,根据您的数组更改 imageView 中的图像。

于 2013-10-22T10:21:49.703 回答
0

试试这个例子:

self.imageArray = [NSArray arrayWithObjects:@"image1.png",@"image2.png"],@"image3.png"],@"image4.png"],@"image5.png"],@"image6 .png"],nil];

self.currentIndex = 0;

-(IBAction)nextImageClicked:(id)sender{

    if (self.currentIndex < self.imageArray.count-1) {
    self.currentIndex++;
    NSString *imageName = [NSString stringWithFormat:@"%@",[self.imageArray objectAtIndex:self.currentIndex]];
    UIImage * image  = [UIImage imageNamed:imageName];
    self.imageView.image = image;
   }
}
 -(IBAction)prevImageClicked:(id)sender{
if (self.currentIndex > 0) {
    self.currentIndex--;
    NSString *imageName = [NSString stringWithFormat:@"%@",[self.imageArray objectAtIndex:self.currentIndex]];
    UIImage * image  = [UIImage imageNamed:imageName];
    self.imageView.image = image;
  }
}
于 2013-10-22T13:32:44.963 回答