所以我是新的Objective C,我正在構建我的第一個應用程序,儘管我被卡在特定的函數中用於創建角色。如何在xcode中使用數組來更改圖像(目標C)
我添加了'back'&'前進'按鈕,這些按鈕用於在我擁有的選項(例如襯衫圖像)之間移動。
我有4種不同的襯衫選擇,並想知道如何將這4張圖片添加到一個數組中,然後我可以使用'後退'和'前進'按鈕以在選項之間導航。
任何幫助,將不勝感激。
所以我是新的Objective C,我正在構建我的第一個應用程序,儘管我被卡在特定的函數中用於創建角色。如何在xcode中使用數組來更改圖像(目標C)
我添加了'back'&'前進'按鈕,這些按鈕用於在我擁有的選項(例如襯衫圖像)之間移動。
我有4種不同的襯衫選擇,並想知道如何將這4張圖片添加到一個數組中,然後我可以使用'後退'和'前進'按鈕以在選項之間導航。
任何幫助,將不勝感激。
你使用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
)加載圖像視圖的圖像。
在這個答案中,我沒有爲你寫代碼。我向你展示了一些東西片段,並給你提供了不同的潛在選擇來編寫你的程序。你必須自己把它放在一起,並選擇你最舒服的。
謝謝!我會看看我能做出什麼迴應:) –
在Objective-C,有兩類對象:原語(如NSInteger
,int
,char
)和其他一切。非基元可以存儲在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];
(索引是從零開始的)
沒有理由讓它變得可變。您可以使用圖像初始化陣列。 – MCKapur
是的,假設你有初始化數組時可用的對象。但有時你不會。無論如何,另一個答案顯示了「initWithObjects」,所以我想展示另一種方法。 – 2015-07-12 16:51:03
但是在這種情況下,我是不是添加了幾個對象?我的意圖是將一個圖像改爲其他圖像。 –
xcode不是一種編程語言:它是一種用於構建iOS和OS X程序的工具。要回答你的問題,你需要告訴我們你正在使用哪種編程語言。請添加適當的標籤。 (我猜Swift,但你需要告訴我們。) – 2015-07-12 16:09:24
道歉,補充* –