2013-02-13 1 views
0
UITapGestureRecognizer *gestureRecoqnizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(imageTaped:)]; 
[ImageView addGestureRecognizer:gestureRecoqnizer]; 

Единственным параметром, отправленным imageTaped, является отправитель.Как указать дополнительную информацию для моего выбора GestureRecoqnizer?

Я хочу отправить что-то еще, скажем, сам ImageView или какой-либо другой объект.

Как мне?

ответ

2

sender.view будет вашим ImageView. Если вам нужен другой объект, добавьте его в свой ImageView Class.

ImageView *imageview = (ImageView*)sender.view; 
NSLog(@"%@", imageview.someObject); 

Редактировать

Вот возможные решения я могу думать.

  1. Подкласс UIImageView иметь @property для объекта, как объяснено выше.
  2. Установите тег на UIImageView и используйте sender.view.tag и у вас есть способ связать тег с объектом.

В основном, для вашего ImageView требуется какая-то информация для подключения к вашему объекту.

+0

Нет ли другого пути? Например, для того чтобы ImageView имел произвольное свойство someObject, нам нужен связанный объект или что-то еще. –

+0

Хорошо. Я забыл, что вы можете подклассы вместо того, чтобы просто создавать категорию. –