2013-10-22 58 views
0

我在一個呈現圖像的故事板中有一個ViewController,我希望有「下一個」和「前一個」按鈕來移動同一類的實例(10個viewControllers)不同的圖像。 「第一個」實例是故事板的一部分,我手動編程了滾動條子視圖中的所有圖像。現在的問題是如何正確添加手動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]; 
    

有沒有去了解,如果我的「M目前在‘第1頁’或‘第2頁’?

謝謝。

+0

爲什麼你需要10個控制器來顯示10個圖像,這似乎是一個矯枉過正的問題。 UIPageViewController或UIScrollView可能更適合您的需求。 – Adis

回答

2

而不是使用不同viewControllers的使用單一的viewController,並在一個數組,當一個或下一個按鈕來添加的所有圖像被竊聽變化的ImageView圖像根據您的陣列。

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; 
    } 
} 
相關問題