2013-02-18 43 views
0

我查看了互聯網,看到有類似問題的人,但不是完全相同的問題。訪問UIImageView文件名解決

我正在爲每個字母(A-Z)的圖像製作一款遊戲。在比賽開始時,我隨機分配了一封信給12個不同的UIImageViews。我通過創建一個包含所有文件名的數組,然後爲每個UIImageViewrand()分配一個隨機數。

當用戶點擊一個字母時,我再次出現在正在構建答案字的不同區域。然後,我將該字母設置爲NULL,以便用戶不能再次使用它作爲答案。

問題是,當他們得到答案時,如何區分字母圖像?所以我可以構造一個字符串來將它與字典進行比較,看它是否是一個真正的單詞。

我知道文件名會丟失,並且每個圖像都是隨機分配的。有沒有更好的方法來處理這個問題。

+0

爲什麼不乾脆用一個額外的合成NSString擴展UIImageView,所以你可以保存存儲在該UIImageView中的字母? – 2013-02-18 16:06:47

+0

子類'UIImage'將會訣竅 – 2013-02-18 16:07:49

回答

1

如果我理解正確,你需要一個簡單的方法來從UIImageView中找回字母。

選項1(更好,但更多的代碼):

UIUmageView繼承和創建自己的類名稱類似於LetterImageView。添加一個屬性,這個類叫letter其中包含NSString。當你構建這個類時,還要設置字母屬性。

而不是使用原來的UIImageView,使用您的改進LetterImageView。這會記住哪個字母是使用您的額外屬性。

選項2(更快,但hackish的):

任意視圖包含一個稱爲tag屬性(這是一個NSInteger)。您可以將標籤設置爲您想要的任何值。它應該可以幫助您標記視圖,然後根據標記搜索它們。

如果您目前沒有使用tag屬性,您可以將您的信保存在那裏..有點難看但會起作用。簡單地爲每個字母分配一個數字,例如1代表A,2代表B等。當您構建您的UIImageView時,也可將該字母保存在標籤中。無論何時您想要發現哪個字母出現在特定的圖像視圖中,只需檢查該標籤即可。

+0

感謝您的幫助,我對編程比較陌生。我喜歡選項一,但我不知道和UIImageView不知道它收到了哪個字母PNG。這一切都是隨機完成的。對於這個選項,我必須製作26個LetterImageViews(每個字母一個),然後隨機選擇12放在屏幕上。 – aarj 2013-02-18 16:55:06

0

您可以使用UIView而不是UIImageView。的UIView有一個屬性「標籤」(NSInteger的),你可以設定以後,以確定您的視圖(請參閱UIView tag

我看到talkol是有點太快了,我...

+1

imaveView也有相同的屬性'標籤'。 – rptwsthi 2013-02-18 16:19:29