Как использовать распознаватели жестов в ИБ (iPhone/iPad)?

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

  1. Перетащите «Распознаватель жестов касания» в мой контроллер представления в IB.

  2. В файл .m добавлен следующий метод...

    - (IBAction)viewTapped:(UIGestureRecognizer *)sender
    {
        // Do some stuff
    }
    
  3. Объявил метод в файле .h...

    - (IBAction)viewTapped:(UIGestureRecognizer *)sender;
    
  4. Наконец, я подключил IBAction к «Распознаватель жестов касания» в IB.

Когда я попытался запустить его, у меня ничего не вышло. Я что-то пропустил?


person Community    schedule 12.12.2011    source источник


Ответы (3)


В инспекторе атрибутов убедитесь, что состояние включено, а события «Отменено в представлении» и «Отложенное начало» выбраны.

person sahiti    schedule 14.12.2011

Удерживая клавишу Control, щелкните распознаватель жестов на кончике пера. В разделе «Ссылка на коллекции розеток» всплывающего окна отображаются какие-либо соединения? Он должен быть подключен к коллекции gestureRecognizers вашего представления, например:

инспектор подключений

Если он не подключен, перетащите распознаватель на представление, к которому вы хотите его присоединить. Вы можете перетащить его на вид в области дизайна или на строку вида в контуре слева.

person rob mayoff    schedule 14.12.2011
comment
Это просто идеально, но вам нужно перетащить вид в распознаватель жестов, или, по крайней мере, так я мог это сделать, а не по-другому, я надеюсь, что это поможет. - person Stornu2; 30.05.2014

У меня возникла проблема с распознавателем жестов с UIImageView. Чтобы это сработало, мне пришлось проверить userInteractionEnabled из UIImageVIew.

person Developer    schedule 05.12.2016
comment
Была такая же проблема с обычным UIView. Кажется, это требуется. - person Roy Shilkrot; 05.04.2017