2014-12-02 3 views
0

У меня есть UIImageView, и я хотел бы иметь возможность добавить к нему два метода. Один для двойного нажатия верхней половины, а другой для двойного нажатия на нижнюю половину ImageView.Метод касания UIImageView

В настоящее время код является лишь Outlet ссылки А.Н. UIImageView:

Может кто-нибудь посоветовать мне о том, как сделать это произойдет, или, по крайней мере мне точку в правильном направлении?

+0

Посмотрите на [UITapGestureRecognizer] (https://developer.apple.com/library/ios/documentation/uikit/reference/uitapgesturerecognizer_class/index.html) – Jack

ответ

2

использование UITapGestureRecognizer (Obj-C пример, для Swift это в основном то же самое)

UITapGestureRecognizer *gestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapImageView:)]; 
[self.imageView addGestureRecognizer:gestureRecognizer]; 
gestureRecognizer.numberOfTapsRequired = 2; 

, то вы можете отрегулировать положение крана внутри зрения изображения

- (void)tapImageView:(UITapGestureRecognizer *)recognizer 
{ 
    CGPoint location = [recognizer locationInView:self.imageView]; 
    if ([self.imageView pointInside:location withEvent:nil]) { 
     // tap is inside view bounds 
     if (location.y < self.imageView.bounds.height/2) { 
      // tap in upper half 
     } 
     else { 
      // tap in lower half 
     } 
    } 
} 
+0

Как будет идти об этом, если мой ImageView находится в мой класс 'CustomCell.swift' и' UITapGestureRecognizer' находится в моем 'ViewController.swift' – uhfocuz

+0

Мог ли я получить этот первый бит кода для создания' UITapGestureRecognizer' в Swift? – uhfocuz

+0

что-то вроде этого, наверное. 'let распознаватель = UITapGestureRecognizer (target: self, action: Selector (" tapImageView: ")); распознавание.numberOfTapsRequired = 2; imageView.addGestureRecognizer (распознаватель); ' – mrvn

3
  1. Включение взаимодействия с пользователем ,

    self.postImage.userInteractionEnabled = истинный

  2. Используйте UITapGestureRecognizer
  3. Обнаружение местоположения крана.
  4. Наслаждайтесь.
1

Есть два способа, которые пришли мне на ум.

  1. Сделать представление изображения как общедоступное свойство класса ячеек и добавить к нему распознаватель жестов в самом классе контроллера.
  2. Или, создав объект ячейки, вызовите метод с самостоятельно в качестве параметра и добавьте распознаватель жестов в этот метод, целью которого будет объект сам.
+0

Честно говоря, вы гений, я бы никогда об этом не думал. – uhfocuz

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