Добавление жеста касания на UIImage - PullRequest
12 голосов
/ 09 февраля 2012

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

Я работаю с UIScrollVIew, поэтому я использовал UITapGesture вместо touchesBegan, и кажется, что UIGestureRecognizer не совместим с UIImage ...

я прав?

я продолжаю получать это сообщение об ошибке

тип получателя 'UIImage' для сообщения экземпляра не объявляет метод с селектором «addGestureRecognizer»

Есть ли другой способ?

Ответы [ 4 ]

24 голосов
/ 08 апреля 2013

Вы должны добавить TapGesture в UIImageView, а не в UIImage

imgView.userInteractionEnabled = YES;

UITapGestureRecognizer *tapGesture1 = [[UITapGestureRecognizer alloc] initWithTarget:self  action:@selector(tapGesture:)];

tapGesture1.numberOfTapsRequired = 1;

[tapGesture1 setDelegate:self];

[imgView addGestureRecognizer:tapGesture1];

[tapGesture1 release];

Вы можете ответить на кран с помощью определенного селектора и делать там вещи

- (void) tapGesture: (id)sender
{
    //handle Tap...
 }
6 голосов
/ 09 февраля 2012

Вы должны добавить жест в UIImageView, а не в UIImage

3 голосов
/ 22 января 2013

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

UIView *someView = [[UIView alloc] initWithFrame:CGRectZero];
UITapGestureRecognizer *tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapAction:)];
tapRecognizer.numberOfTapsRequired = 1;
[someView addGestureRecognizer:tapRecognizer];

Вы можете ответить на кран с помощью определенного селектора и делать там вещи

- (void)tapAction:(UITapGestureRecognizer *)tap
{
    // do stuff
}
1 голос
/ 09 февраля 2012

Попробуйте UIButton вместо UIIMage и введите UIButton type custom . И по нажатию же вы можете показать анимацию.

...