IOS 想请问一下 CAShapeLayer创建了一条直线。如何响应手势操作

CAShapeLayer 加UIBezierPath画了条斜的线。。怎么可以点击啊。求大佬指教一下

阅读 2.5k
2 个回答

在他的父视图 UIView 上,响应手势。

因为 UIView 可以响应事件,CALayer不可以.

UIKit 使用 UIResponder 作为响应对象,来响应系统传递过来的事件并进行处理。UIApplication、UIViewController、UIView、和所有 UIView 的子类(包括 UIWindow )都是响应者 responder , 通过继承的方式。

在 UIResponder 中定义了处理各种事件和事件传递的接口, 而 CALayer 直接继承 NSObject,并没有相应的处理事件的接口。

官方文档上,写得很清晰

https://developer.apple.com/d...

0

Layer 设计来是不响应事件的,需要响应事件,在view中的touch事件中处理或者自己添加手势

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题