Штрихи, округленные массивом 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 - изображение.

Другие вопросы по тегам