0

在 iOS 应用程序中,我有一个包含 UIScrollView 的 UIView 和一个具有一定透明度的覆盖 UIImageView。
覆盖视图位于 UIScrollView 之上,并将 userInteractionEnabled 设置为 YES。
我可以正确接收覆盖层上的触摸事件,但滚动视图不再获取它们。

当 userInteractionEnabled si 在叠加层上设置为 NO 时,我可以在 UIScrollView 中正确平移,但显然叠加层不再获得触摸事件。

如何能够将触摸事件从叠加层传递到滚动视图,以便我仍然可以滚动或平移滚动视图?

我已经从覆盖中尝试过,但它不起作用:

- (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];
}
4

1 回答 1

1

创建一个自定义 UIView 类,实现此方法并将其设置为 IB 中的覆盖视图

func point(inside point: CGPoint, 
  with event: UIEvent?) -> Bool {
    return true
 }
于 2018-05-06T10:15:39.643 回答