检测描边的uibezierpath包含点

时间:2018-02-13 03:36:34

标签: ios swift mobile uibezierpath

我在视图中绘制了描边路径。我试图查看描边路径是否包含特定点。但是,contains方法不会检测该点是否在描边路径中。

func checkCollision(currentPoint:CGPoint) -> CustomShape?{
    for shape in customShapes {
        //Check if current shapes uibezierpath contains a point
        if (shape.path.contains(currentPoint)) {
            return shape
        }
    }
    return nil
}

1 个答案:

答案 0 :(得分:0)

覆盖自定义hitTest(_:with:)的{​​{1}}实例方法。此方法返回视图对象,该视图对象是当前视图的最远的后代,并包含UIView。如果该点完全位于接收者的视图层次结构之外,则返回point

https://developer.apple.com/documentation/uikit/uiview/1622469-hittest

nil