UILongPressGestureRecognizer с разными кнопками

У меня есть 2 кнопки с "UILongPressGestureRecognizer", чтобы сделать это, я делаю:

Для кнопки 1:

-(IBAction)seleccionar46:(id)sender{
UILongPressGestureRecognizer *longpressGesture =[[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longPressHandler:)];
longpressGesture.minimumPressDuration = 3;
[longpressGesture setDelegate:self];
[self.button1 addGestureRecognizer:longpressGesture];}

Для кнопки 2:

    -(IBAction)seleccionar46:(id)sender{
UILongPressGestureRecognizer *longpressGesture =[[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longPressHandler:)];
longpressGesture.minimumPressDuration = 3;
[longpressGesture setDelegate:self];
[self.button2 addGestureRecognizer:longpressGesture];}

И в "longpressGesture" мне нужно различать кнопку1 и кнопку2, но я не могу этого сделать...

 - (void)longPressHandler:(UILongPressGestureRecognizer *)gestureRecognizer{//Here i need do the differentation}

Спасибо за все!

С наилучшими пожеланиями.


person Alberto Juarez    schedule 13.02.2012    source источник


Ответы (1)


Что вы можете сделать, так это использовать свойство view для UIGestureRecognizer, поэтому, если вы сохраните ссылку на обе ваши кнопки, вы сможете проверить равенство.

Итак, если у вас есть

@interface blah
{
  UIButton *buttonOne;
  UIButton *buttonTwo;
}

затем вы добавляете распознаватели к кнопкам, которые вы можете сделать в обработчике

if(gestureRecognizer.view==buttonOne)
{
   //do stuff for button one
}
else if(gestureRecognizer.view==buttonTwo)
{
  //do stuff for button two
}

Надеюсь, поможет

person Daniel    schedule 13.02.2012
comment
Спасибо, друг! Мне нужно сохранить название кнопки в NSSttring... Как я могу это сделать? - person Alberto Juarez; 13.02.2012
comment
Потому что имя кнопки такое же, как и имя одного изображения... И когда я нажимаю кнопку в течение 3 секунд, она показывает изображение, связанное с кнопкой... Надеюсь, вы понимаете... Спасибо за все Даниэль - person Alberto Juarez; 13.02.2012
comment
ну, вы должны иметь какой-то словарь или что-то еще, чтобы отслеживать это, или жестко кодировать его, если есть только одно изображение на кнопку и его статика - person Daniel; 14.02.2012
comment
Это только одно изображение на кнопку, но я не могу понять хардкор... Не могли бы вы привести пример? Спасибо, Даниэль. - person Alberto Juarez; 14.02.2012