我有一个包含UIPageViewController
的视图的容器视图。这是在UIViewController
内部,并占据了整个屏幕。在容器视图的顶部,我有一个UIView
,覆盖屏幕的一半,其中包含一个按钮和一些文本。我想将触摸从此UIView
转发到UIPageViewController
。这样一来,即使用户在UIPageViewController
上滑动,UIView
仍然可以左右滑动。我还希望按钮能够被按下,因此不能仅在UIView
上将isUserInteractionEnabled设置为false。
我怎样才能做到这一点?
最佳答案
hitTest是确定谁应该使用触摸/手势的方法。
因此,您的“UIView
,覆盖屏幕的一半”可以像NoTouchHandlerView
这样的子类。然后,该视图将不会消耗任何触摸。然后它将传递到其下的视图。
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
}
}
}
关于ios - 转发触摸到UIPageViewController,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44131765/