我有一个容器视图,其中包含UIPageViewController
. 这是在 a 里面UIViewController
,占据了整个屏幕。在容器视图的顶部,我有一个UIView
,覆盖屏幕的一半,其中包含一个按钮和一些文本。我想将这里的触摸转发UIView
到UIPageViewController
. 这样UIPageViewController
即使用户在UIView
. 我还希望按钮能够被按下,因此不能在UIView
.
我怎样才能做到这一点?
hitTest是确定谁应该使用触摸/手势的方法。
所以你的“ UIView
,覆盖一半屏幕”可以从 say NoTouchHandlerView
like子类化。然后这个视图不会消耗触摸。然后它会传递给它下面的视图。
class NoTouchHandlerView: UIView
{
override func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView?
{
if let hitTestView = super.hitTest(point, with: event), hitTestView !== self {
return hitTestView
}else {
return nil
}
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句