2013-02-18 84 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