2013-12-12 4 views
-1

В моем приложении iOS у меня есть UIImageView, и когда я нажимаю на него, вызывается метод.Выбор метода с параметрами iOS

Это метод:

- (void)tapImagesLike:(UITapGestureRecognizer*)recognizer idOfTheImage:(NSInteger*) id_image{ 

    //here i want to use the passed value id_image 
} 

Я не могу назвать его и получить параметр на входе.

Это код, который вызывает метод, когда UIImageView щелкают:

UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapImagesLike:idOfTheImage:x)]; 

     singleTap.numberOfTapsRequired = 1;                         

     likeImageImageview.userInteractionEnabled = YES;                        

     [likeImageImageview setMultipleTouchEnabled:NO];                        

     [likeImageImageview addGestureRecognizer:singleTap]; 

х является NSInteger, что я хочу, чтобы дать на входе в метод.

Как я могу это сделать?

ответ

0

Просто укажите тег imageView и используйте этот тег в качестве его идентификатора. Поэтому вам не нужно передавать параметр. И изменить код следующим образом:

- (void)tapImagesLike:(UITapGestureRecognizer*)recognizer{ 
    UIView *imageView = recognizer.view; //cast it to UIImageView if needed 
    //use imageView.tag as the id 
} 
+0

У меня в ImageViews уже есть тег. Тег - еще один параметр, который я должен использовать – lubilis

+0

ОК, вы можете просто использовать переменную для хранения идентификатора и получить идентификатор из этой переменной, когда срабатывает нажатие –

+0

Извините, я не сказал, что изображениеView создается динамически в цикл, и в каждом цикле меняет переменная x. Поэтому, если хранилище значение в переменной, я буду иметь значение, которое он получает в последнем цикле. Разве нет решения передать этот параметр методу? – lubilis

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