userInteractionEnabled на блоках наложения touchEvents на нижних UIViews - PullRequest
0 голосов
/ 06 мая 2018

В приложении для iOS у меня есть UIView, который содержит UIScrollView и оверлейный UIImageView с некоторой прозрачностью.
Представление наложения находится поверх UIScrollView и для userInteractionEnabled установлено значение YES.
Я могу правильно получать сенсорные события на оверлее, но прокрутка больше их не получает.

Когда для userInteractionEnabled si установлено значение NO на оверлее, тогда я могу правильно выполнить панорамирование в UIScrollView, но очевидно, что оверлей больше не получает сенсорные события.

Как быть в состоянии передать сенсорные события от наложения к просмотру прокрутки, чтобы я все еще мог прокручивать или панорамировать представление scrollView?

Я пробовал это из оверлея, но это не работает:

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
    <...>
    [myParent.myScrollView touchesMoved:touches withEvent:event];
}

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    <...>
    [myParent.myScrollView touchesBegan:touches withEvent:event];
}

1 Ответ

0 голосов
/ 06 мая 2018

Создайте пользовательский класс UIView, реализуйте этот метод и установите его в представление наложения в IB

func point(inside point: CGPoint, 
  with event: UIEvent?) -> Bool {
    return true
 }
...