在CALayer上使用hitTest-如何找到被击中的图层(Swift)?

约翰

您如何找到被击中的实际图层?

目前,我有很多人CAShapeLayers,我希望每个人都可以在自己轻按时做点什么。但是,当他们中的任何一个被点击时,所有的人都会采取行动。

到目前为止,这是我的代码:

    if shape.hitTest(point) != nil {
        shape.lineWidth = 60
    }
    if shape1.hitTest(point) != nil {
        shape1.lineWidth = 60
    }
    if shape2.hitTest(point) != nil {
        shape2.lineWidth = 60
    }

这可能意味着它只是在检查是否点击的点是CAShapeLayer您如何获得它来检查点击的点是否特定CAShapeLayer

德扬·斯克莱达(Dejan Skledar)

这应该工作:

override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) {

    // Declare the touched symbol and its location on the screen
    for touch: AnyObject in touches {

        //get the point location
        let location:CGPoint = (touch as! UITouch).locationInView(self.view)

        if CGPathContainsPoint(shape1.path, nil, location, false) //shape 1
        {
            //touch in shape 1
        }
        else if CGPathContainsPoint(shape2.path, nil, location, false) //shape 2
        {
            //touch in shape 2
        }
        else if CGPathContainsPoint(shape3.path, nil, location, false) //shape 3
        {
            //touch in shape 3
        }
    }

}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Swift中使用视图调整子图层的大小?

来自分类Dev

point 和 hitTest 之间有什么区别以及我如何使用 hitTest?

来自分类Dev

如何在NSImageView上移动CALayer

来自分类Dev

如何使用HitTest获得最顶层而不是最深层

来自分类Dev

如何使用CALayer renderInContext并保持透视变换?

来自分类Dev

如何使用CALayer创建渐变范围

来自分类Dev

如何使用CALayer创建渐变范围

来自分类Dev

如何为CALayer使用基于块的动画?

来自分类Dev

CALayer :: hitTest在横向方向上失败

来自分类Dev

如何在带有alpha值的CALayer()上添加颜色?

来自分类Dev

如何使用pyqgis列出Geopackage上的所有图层?

来自分类Dev

使用Cesium无法获取Geoserver上Tile图层的(无法找到正确的URL)

来自分类Dev

使用Swift时,偶尔会调用CALayer委托

来自分类Dev

使用CALayer和UIImage在Swift中屏蔽图像

来自分类Dev

使用Swift时仅偶尔调用CALayer委托

来自分类Dev

如果它们位于表中,如何使用hitTest来获取基础视图?

来自分类Dev

如何使用CALayer创建一个圆?

来自分类Dev

如何在CALayer中使用切片的图像

来自分类Dev

如何在节点点击中使用beforeEach?

来自分类Dev

使用JavaScript击中画布的末端时如何停止对象?

来自分类Dev

如何使用python从鼠标双击中检索文本

来自分类Dev

如何使用图层应用传单标记群集

来自分类Dev

如何使用python重塑caffe中的图层?

来自分类Dev

如何使用cytoscape同心布局创建图层

来自分类Dev

如何在keras图层中使用SVD?

来自分类Dev

如何使用 OpenLayers 显示 Bing 地图图层

来自分类Dev

如何使用PyTorch在预训练模型上添加新图层?(给出了Keras示例。)

来自分类Dev

如何使用GMaps JS API在Google Fusion Tables图层上显示标记?

来自分类Dev

如何使用script-fu / scheme在gimp图像上设置图层透明填充

Related 相关文章

  1. 1

    如何在Swift中使用视图调整子图层的大小?

  2. 2

    point 和 hitTest 之间有什么区别以及我如何使用 hitTest?

  3. 3

    如何在NSImageView上移动CALayer

  4. 4

    如何使用HitTest获得最顶层而不是最深层

  5. 5

    如何使用CALayer renderInContext并保持透视变换?

  6. 6

    如何使用CALayer创建渐变范围

  7. 7

    如何使用CALayer创建渐变范围

  8. 8

    如何为CALayer使用基于块的动画?

  9. 9

    CALayer :: hitTest在横向方向上失败

  10. 10

    如何在带有alpha值的CALayer()上添加颜色?

  11. 11

    如何使用pyqgis列出Geopackage上的所有图层?

  12. 12

    使用Cesium无法获取Geoserver上Tile图层的(无法找到正确的URL)

  13. 13

    使用Swift时,偶尔会调用CALayer委托

  14. 14

    使用CALayer和UIImage在Swift中屏蔽图像

  15. 15

    使用Swift时仅偶尔调用CALayer委托

  16. 16

    如果它们位于表中,如何使用hitTest来获取基础视图?

  17. 17

    如何使用CALayer创建一个圆?

  18. 18

    如何在CALayer中使用切片的图像

  19. 19

    如何在节点点击中使用beforeEach?

  20. 20

    使用JavaScript击中画布的末端时如何停止对象?

  21. 21

    如何使用python从鼠标双击中检索文本

  22. 22

    如何使用图层应用传单标记群集

  23. 23

    如何使用python重塑caffe中的图层?

  24. 24

    如何使用cytoscape同心布局创建图层

  25. 25

    如何在keras图层中使用SVD?

  26. 26

    如何使用 OpenLayers 显示 Bing 地图图层

  27. 27

    如何使用PyTorch在预训练模型上添加新图层?(给出了Keras示例。)

  28. 28

    如何使用GMaps JS API在Google Fusion Tables图层上显示标记?

  29. 29

    如何使用script-fu / scheme在gimp图像上设置图层透明填充

热门标签

归档