2013-02-18 2 views
0

Я просмотрел Интернет и увидел людей с похожими проблемами, но не такой же проблемой.Доступ к имени файла UIImageView работает

Я делаю игру для iPhone, у которой есть изображение каждой буквы (A-Z). В начале игры я произвольно присваиваю письмо 12 различным UIImageViews. Я сделал это, создав массив, в котором хранятся все имена файлов, а затем присваивается случайный номер для каждого UIImageView с rand().

Когда пользователь нажимает на письмо, я снова появляюсь в другой области, где строится ответное слово. Затем я установил письмо в NULL, чтобы пользователь не смог использовать его снова для своего ответа.

Вопрос в том, как я могу различать изображения букв, когда они доходят до ответа? Поэтому я могу построить строку, чтобы сравнить ее со словарем, чтобы узнать, действительно ли это слово.

Я знаю, что имя файла теряется, и каждое изображение назначается случайным образом. Есть ли лучший способ справиться с этим.

+0

Почему вы не просто расширить UIImageView с помощью дополнительной синтезированной NSString, чтобы вы могли сохранить письмо, которое было сохранено в этом UIImageView? –

+0

Подклассификация 'UIImage' будет делать трюк –

ответ

1

Если я правильно понял, вам нужен простой способ найти письмо из UIImageView.

Вариант 1 (лучше, но больше кода):

Наследовать от UIUmageView и создать свой собственный класс с именем что-то вроде LetterImageView. Добавьте свойство к этому классу letter, который содержит NSString. Когда вы создаете этот класс, также задайте свойство letter.

Вместо использования оригинала UIImageView используйте улучшенный LetterImageView. Теперь вы должны помнить, какое письмо использует ваше дополнительное свойство.

Вариант 2 (быстрее, но хак):

Любого вид содержит свойство tag (это NSInteger). Вы можете установить тег на любое значение, которое вы хотите. Он должен помочь вам маркировать виды, а затем искать их в соответствии с их тегом.

Если вы в настоящее время не используете свойство tag, вы можете сохранить свое письмо там .. немного уродливым, но он будет работать. Просто назначьте число для каждой буквы, например 1 для A, 2 для B и т. Д. Когда вы создаете свой UIImageView, также сохраняйте письмо в теге. Всякий раз, когда вы хотите узнать, какая буква появляется внутри определенного изображения, просто просмотрите тег.

+0

Спасибо за помощь, я относительно новичок в программировании. Мне нравится вариант один, но я не знаю, и UIImageView не узнает, какую букву он получил. Все делается случайным образом. Для этого варианта я должен сделать 26 LetterImageViews (по одному с каждой буквой), а затем случайным образом выбрать 12 для размещения на экране. – aarj

0

Вы можете использовать UIView вместо UIImageView. UIView имеет «тег» свойство (NSInteger), которые вы можете установить, чтобы определить ваш вид позже (см UIView tag)

Я вижу talkol был немного слишком быстро для меня ...

+1

imaveView также имеют те же свойства 'tag'. – rptwsthi

Смежные вопросы