我在页面顶部有一个UIView
的布局,在它下面,我有一个UITableView
。
我想要做的是将UIView
上的动作互动转移到UITableView
,因此当用户在UIView
上进行向上/向下拖动时,{ {1}}垂直滚动。
我尝试了以下代码
UITableView
但它以某种方式从tableView.gestureRecognizers?.forEach { uiView.addGestureRecognizer($0) }
删除了gestureRecognizers:/
视错误:UITableView
不能是UIView
的<{1}}
答案 0 :(得分:2)
那是棘手的
您的顶视图不允许通过其背后的视图...
第二种选择更好,更容易。
所以你需要做的是创建UIView
和override
override func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView?
如果您在hitTest
操作
这里经过测试和工作的例子
class PassThroughME : UIView {
override func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView? {
return super.hitTest(point, with: event) == self ? nil : self
}
}
现在使用PassThroughME
或者通过在故事板中为您的视图添加类或者以编程方式添加视图
检查图像我有黑色的彩色视图,顶部是0.7 alpha我仍然可以滚动
希望它有用