如何通过UIView的一部分传递点击和触摸事件?
问题是我有UIScrollView,透明的第一个元素作为从顶部开始的间距,然后我放了一些其他视图。我希望第一个元素将点击和触摸传递给底层视图。
答案 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可以确认该协议,然后将视图作为返回值返回:)
希望有所帮助