【问题标题】:How to detect taps on CAShapeLayer?如何检测 CAShapeLayer 上的点击?
【发布时间】:2015-12-03 13:26:00
【问题描述】:

我已经创建了一个UIView 子类。在其中放置了一个UIScrollView 对象,该对象具有圆形形状并包含一个uiviewimage。我还放置了圆形的CAShapeLayerCAShapeLayer 位于 UIScrollView 上方,并且有一点重叠。当我触摸CAShapeLayer 时,我希望能够检测到点击,并且仍然能够在需要时在UIScrollView 内滚动。问题是CAShapeLayer 的某些区域无法检测到点击,但我想检测整个对象,即使它位于UIScrollView 上方,因为它在右侧有一点重叠。

为了更好的理解请看这张图:

问题是我不知道如何解决这个问题,请用代码告诉我如何解决这个问题...

【问题讨论】:

  • 图层不检测事件;他们不是 UIResponder。我认为您需要创建一个使用 CAShapeLayer 作为其图层类的 UIView 子类。您可以通过自己喜欢的搜索引擎找到大量示例和教程。
  • 你能给我一些代码来试试吗??
  • 如果你愿意,我什至可以付钱给你

标签: ios objective-c cashapelayer


【解决方案1】:

您可以在包含图层的视图上添加点击手势识别器,然后检测图层的框架是否包含点击点

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-01
    • 1970-01-01
    相关资源
    最近更新 更多