UIScrollView обнаружение касания - PullRequest
2 голосов
/ 04 марта 2012

У меня есть UIScrollView, в котором мне нужно иметь возможность прокручивать.В то же время, мне нужно обнаружить нажатия на скроллвью.Как я могу этого достичь?

Я уже пытался добавить TapGestureRecognizer в представление без какой-либо удачи.Также испробовал несколько подходов с использованием методов UIScrollViewDelegate.

В UIScrollView есть представление MPMoviePlayerController.

Я использовал следующий код для добавления реконфигуратора

UITapGestureRecognizer *singleTap = [[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)] autorelease];
singleTap.enabled = YES;
singleTap.cancelsTouchesInView = NO;

[scrollView addGestureRecognizer:singleTap];

Спасибо.

Ответы [ 3 ]

1 голос
/ 04 марта 2012

Попробуйте поместить вид в представление прокрутки и добавить к нему распознаватель жестов и другой вид.

0 голосов
/ 01 мая 2017

Вы можете захватывать любые виды жестов в UIScrollView.Убедитесь, что вы также обрабатываете некоторые свойства по умолчанию, например, установите для свойства cancellsTouchesInView значение false, по умолчанию оно имеет значение true.Также дайте некоторые номера тегов для ваших подвидов, чтобы различать в селекторах.& также разрешить их взаимодействие с пользователем в true.

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

   {
           //adding images to the scroll view   
             for i in 0 ..< 4 {
          let image = UIImage(named: "img\(i).png")
          let imageView  = UIImageView(image: image)
          imageView.center = CGPoint(x: CGFloat(i) * 60 + 60/2, y: 60/2)
          imageView.tag = i
          imageView.isUserInteractionEnabled = true
          addSubview(imageView)

          let tap = UITapGestureRecognizer(target: self, action: #selector(didTapImage(_:)))
          imageView.addGestureRecognizer(tap)
        }

        contentSize = CGSize(width: 10 * 60, height:  60 + 2*10)  

}

0 голосов
/ 07 марта 2012

Решение: при добавлении представления MPMoviePlayerController в UIScrollView необходимо отключить взаимодействие с пользователем в представлении MpMoviePlayerController, чтобы UIScrollView мог перехватывать распознаватель жестов. Это решение работает только в том случае, если вы не хотите, чтобы взаимодействие осуществлялось с использованием стандартных меню mpmovieplayercontrollers и т. Д.

...