Обнаружение касания подпредставления в главном контроллере

У меня есть класс контроллера основного вида, который содержит UIScrollView и ряд подпредставлений, таких как карты.

Каждая карта является объектом и покрыта UIButton, Я хочу обнаружить нажатие на UIButton и хочу запретить одновременное нажатие на несколько карточек.

2 ответа

Я понимаю ваш вопрос частично. Смотрите, если следующее полезно:

В вашем представлении прокрутки:

 for (int i=0;i<array;i++)
 {
       UIButton *button=[[UIButton alloc]initWithFrame:CGRectMake(scrollWidth, 5,50,40)];
       button.userInteractionEnabled=YES;
       UITapGestureRecognizer *rcognizer=[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(buttonSelcted:)];
       [button addGestureRecognizer:rcognizer];
       [scrollView addSubview:button];
       scrollWidth=scrollWidth+80;
  }

В методе buttonSelected просто сделайте следующее:

-(void)buttonSelected:(UITapGestureRecognizer *)recognizer
{
    UIButton *selectedItem=(UIButton*)recognizer.view;
    //do what you want with button
}

Во всех ваших кнопках setExclusiveTouch на. Как:

[button setExclusiveTouch:YES];

Для более подробной информации о нем вы можете обратиться:

  1. exclusiveTouch
  2. Указание пользовательского поведения события касания
Другие вопросы по тегам