2015-06-17 55 views
0

我想實現一個UIImageView顯示在每個抽頭不同的巴紐(在NSArray的組織)對其進行更改。當水龍頭到達最後一個.png時,下一個水龍頭將顯示第一個.png等。 我發現一隻老答案在這裏: Add 4 image in imageview and change the picture with tap or swipe gesture 似乎在朝着正確的方向走。但是,它似乎並不適用於新的XCode,並且自從該主題已關閉以後,不再需要澄清或更新。 是否有人對如何繼承,然後整個的ImageView來獲得期望的結果的想法?添加多個圖像,並在每個抽頭

+0

對不起,我忘了提及的是,UIImage的觀點是編程方式創建,我不使用任何IBAction爲用於觸摸。謝謝! – Stefano

回答

0

解決的辦法是比我想象的要容易得多。

爲自定義值的選擇不能問我的方式通過,我創建保存當前顯示的圖像的索引的helper屬性,增加上,每一個水龍頭和設置相應的圖像。

@interface YourViewController() 

@property (nonatomic, strong) NSArray *images; 
@property (nonatomic, assign) NSInteger currentImageIndex; 

@end 


@implementation YourViewController 

- (void)viewDidLoad { 

// Here you fill your images array 
self.images = ... 

// Set currentImageIndex to 0 and display first image 
self.currentImageIndex = 0; 
[self displayImageWithIndex:self.currentImageIndex]; 

// Additional code, like your button target/action 
} 
- (void)myButtonWasTapped:(id)sender 
{ 
if(self.currentImageIndex + 1 < [self.images count]) { 
    self.currentImageIndex++; 
} else { 
    self.currentImageIndex = 0; 
} 
[self displayImageWithIndex: self.currentImageIndex]; 
} 

- (void)displayImageWithIndex:(NSInteger)index { 
self.imageView.image = [self.images objectAtIndex:index]; 
} 

@end 

請注意:這可能是一個更好的方法,但這是它在我的情況。 希望這會有所幫助。