忽略只接触一个"容器" UIView还是视图层次结构中的两个?

时间:2016-03-14 08:36:56

标签: ios objective-c uiview uiscrollview uikit

我有一个UIViewController,其UIScrollView跨越整个帧。漂浮在UIScrollView ...上的是UIView,其中包含UIView内部UIView内部是UIButton

我希望两个UIView对象忽略触摸/手势/拖动/等。 (相反,将它们传递给UIScrollView并允许像往常一样拖动/滚动。) - 但是,UIButton仍然应该正常运行并保持可触摸/可点击等等。

在每个UIView上修改hitTest()的行为似乎提供了这种行为......等等。但是,当UIScrollView滚动时,它不会表现得流畅。在触摸再次成功再次传递到UIScrollView之前,您必须等待滚动完成减速。见代码:

override func hitTest(point: CGPoint, withEvent event: UIEvent?) -> UIView?
{
    let hitView=super.hitTest(point, withEvent: event);
    if (hitView != nil && hitView! == self)
    {
        return nil;
    }
    return hitView;
}

有没有人建议如何解决这种打嗝?提前谢谢!

0 个答案:

没有答案