如何通过UIView中的区域传递点击和触摸事件?

时间:2018-03-13 06:44:13

标签: ios swift uikit

如何通过UIView的一部分传递点击和触摸事件?

问题是我有UIScrollView,透明的第一个元素作为从顶部开始的间距,然后我放了一些其他视图。我希望第一个元素将点击和触摸传递给底层视图。

1 个答案:

答案 0 :(得分:1)

您可以使用UIScrollView传递触摸事件,以便在下方查看。

创建hitTest的子类并覆盖class MyScrollView: UIScrollView { var underlyingViewReference : UIView! override func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView? { if underlyingViewReference.frame.contains(point) { return underlyingViewReference } else { return self } } }

underlyingViewReference

在上面的代码中, viewHolder.layout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if (invoiceListData.get(position).equals("Payment")){ /*Pass the payment detais*/ } else if (invoiceListData.get(position).equals("Expense")) { /*Pass the Expense detais*/ } } }); 是您要将触摸切换到的视图。

如果你不想传递视图的引用,你总是可以在UIScrollView和viewController中声明协议加载UIScrollView可以确认该协议,然后将视图作为返回值返回:)

希望有所帮助