2015-07-12 45 views
0

所以我是新的Objective C,我正在構建我的第一個應用程序,儘管我被卡在特定的函數中用於創建角色。如何在xcode中使用數組來更改圖像(目標C)

我添加了'back'&'前進'按鈕,這些按鈕用於在我擁有的選項(例如襯衫圖像)之間移動。

我有4種不同的襯衫選擇,並想知道如何將這4張圖片添加到一個數組中,然後我可以使用'後退'和'前進'按鈕以在選項之間導航。

任何幫助,將不勝感激。

+0

xcode不是一種編程語言:它是一種用於構建iOS和OS X程序的工具。要回答你的問題,你需要告訴我們你正在使用哪種編程語言。請添加適當的標籤。 (我猜Swift,但你需要告訴我們。) – 2015-07-12 16:09:24

+0

道歉,補充* –

回答

0

你使用Swift還是Objective-C?我會假設Objective-C。好。所以你明白了。現在你只需要實現它。您將不得不使用四個圖像初始化新陣列,arrayWithObjects:initWithObjects:。您必須在屏幕上繪製一個UIImageView,並添加爲子視圖(UIView's addSubview:)。那麼你可能想保留一個一次性的「櫃檯」私人ivar(可能是一個屬性,如果你想要的話),跟蹤顯示當前圖像的索引(在.m中聲明,.h也可以) 。你可以這樣做你可以有一個動態的getter方法,根據數組中的方法objectAtIndex:和圖像視圖的圖像返回索引。當用戶點擊向前或向後點擊時,計數器被更新(如果它是一個ivar而不是一個getter)並且圖像視圖的圖像根據新的計數器值(例如self.imageView.image = imageArray[counter])或類似的東西更新。如果計數器值位於數組的count屬性的邊緣,則可以禁用前進/後退按鈕。最初加載視圖時,可以根據當前計數器值(默認爲0)加載圖像視圖的圖像。

在這個答案中,我沒有爲你寫代碼。我向你展示了一些東西片段,並給你提供了不同的潛在選擇來編寫你的程序。你必須自己把它放在一起,並選擇你最舒服的。

+0

謝謝!我會看看我能做出什麼迴應:) –

0

在Objective-C,有兩類對象:原語(如NSIntegerintchar)和其他一切。非基元可以存儲在NSArray中。 NSArray s是不可變的,這意味着一旦它們被創建,你就不能改變它們。但是,有一個名爲NSMutableArray的子類NSArray。您可以添加和刪除對象,並根據需要對其進行排序。所以,如果你有四個 UIImage對象,你可以做這樣的事情:

NSMutableArray* images = [NSMutableArray new]; 
[images addObject:image1]; 
[images addObject:image2]; 
[images addObject:image3]; 
[images addObject:image4]; 
.... 

目的是爲了補充,這樣你就可以檢索第二圖像(例如)是這樣的:

UIImage* second = [images objectAtIndex:1]; 

(索引是從零開始的)

+0

沒有理由讓它變得可變。您可以使用圖像初始化陣列。 – MCKapur

+0

是的,假設你有初始化數組時可用的對象。但有時你不會。無論如何,另一個答案顯示了「initWithObjects」,所以我想展示另一種方法。 – 2015-07-12 16:51:03

+0

但是在這種情況下,我是不是添加了幾個對象?我的意圖是將一個圖像改爲其他圖像。 –

相關問題