Штрихи, округленные массивом UIImageView
У меня есть массив с UIImageView. Допустим, в настоящее время в массиве есть 5 UIImageView. Как мне узнать, какой UIImageView я сейчас касаюсь?
Благодарю.
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [touches anyObject];
if ([touch view] == ??)
{
}
}
3 ответа
Решение
Одним из самых простых решений является установка tag
свойства взглядов.
@property(nonatomic) NSInteger tag
Таким образом, вы можете легко найти тот, к которому прикоснулись:
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [touches anyObject];
if ([[touch view] tag] == 1)
{
// ...
}
}
Вы можете установить это свойство либо в Интерфейсном Разработчике, либо непосредственно в коде.
Укажите значение тега для каждого изображения в цикле
for(int i=0;i<5;i++)
{
view.tag=i
}
Как сказал другой автор, используйте теги. Хотя его код немного грязный. Я бы никогда не назвал свойства так, как он. Вы должны скорее сделать
[touch view].tag
Таким образом, другим людям будет намного проще читать ваш код. Также вы можете установить теги UIImageViews следующим образом:
yourImageView.tag = 1
где yourImageView - изображение.