Как передать сенсорное событие из подпредставления UIScrollView в его суперпредставление - PullRequest
0 голосов
/ 07 марта 2012

У меня есть три вида на окно.UIView содержит UIScrollView, а UIScrollView содержит UILabel. Все эти представления имеют размер 320 * 460.Теперь я хочу обработать событие длинного нажатия на UILabel и передать событие нажатия на UIView.Я переписываю штрихи этикетки, закругленные: чтобы получить время печати.Если время достаточно короткое, я использую [[self nextResponder] touchesBegan: touch withEvent: event], чтобы передать его.Однако, даже если я переписываю UIScrollview и добавляю [[self nextResponder] touchesBegan: touches withEvent: event] к нему, UIView не сможет получить событие touchesBegan.И если я установлю userInteractionEnabled = NO для UIScrollView, UIView получит touchedBegan, и UILabel не сможет его получить.

Как я могу сначала получить событие прикосновения в UILabel и передать его в UIView, еслиМне нужно.

Спасибо.

Ответы [ 2 ]

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

Я так понял ваш вопрос.

  1. вам нужно долгое нажатие в UiLabel.
  2. вам нужно обнаружить касание в UIView.

У вас есть прокрутка между UIView и UILabel.

  1. Добавьте UILongpressGesture в UILabel.(смотрите здесь )
  2. передать касания из UIscrollview.
0 голосов
/ 07 марта 2012

Попробуйте использовать UITapGestureRecognizer для обнаружения события касания в UIScrollView

  UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self         action:@selector(singleTapGestureCaptured:)];
  [scrollView addGestureRecognizer:singleTap];    

и вы получите штрихи:

  - (void)singleTapGestureCaptured:(UITapGestureRecognizer *)gesture
 { 
   CGPoint touchPoint=[gesture locationInView:scrollView];
 }
...