创建许多具有不同内容的ViewControllers并在它们之间移动

时间:2013-10-22 09:51:59

标签: iphone ios objective-c

我在一个提供图像的故事板中有一个ViewController,我想让“next”和“prev”按钮移动包含不同图像的同一个类的实例(10个viewControllers)。 “第一个”实例是故事板的一部分,我手动编程所有作为滚动条子视图的图像。现在的问题是如何正确添加手动ViewControllers

  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];
    
  4. 有没有知道我目前是在“page1”还是“page2”?

    谢谢。

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

试试这个例子:

self.imageArray = [NSArray arrayWithObjects:@“image1.png”,@“image2.png”],@“image3.png”],@“image4.png”],@“image5.png”], @ “image6.png”],零];

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