我想知道你是否可以帮助我在图层上绘画。
情况是这样的
我在这种屏幕http://multitouch.com上编程,12 点同时触摸。在我正在开发的应用程序中,我可以管理多个图像。我可以同时旋转、缩放所有图像(屏幕上最多触摸 12 次!)为了实现这一点,我只使用图层进行表演。每个图像都由一个 CALayer 表示,然后我创建我的 CALayer 并将图像设置为其“内容”。层次结构是这样的。
我只有一个 NSView。
- NSView“容器视图”
- CALayer“Images_Layer”作为“Container_View”层的子层(它们具有相同的框架)
- CALayer“Img_1_Layer”、CALayer“Img_2_Layer”、CALayer“Img_3_Layer”等作为“Images_Layer”的子层
正如我之前告诉过你的,我可以旋转、缩放和移动我的图像。
双击单个图像,我锁定整个屏幕,我仍然可以旋转和移动图像,但只能用 2 个手指。
现在我希望该用户可以用 1 根手指在此图像上绘图。
主要问题是我没有图形经验,互联网上的所有示例都是关于在视图上画线。
问题是如何用手指在 CALayer 上绘图。我只有 CALayer,我不能有 NSView
非常感谢,塞尔吉奥
嗨 Mazyod,提供 Image 的 CALayer 类非常大。
请尝试理解这个上下文
MainWindow 自然是 root
NSViewController 调用 MainViewController 自定义 NSView 作为根视图 - 这个视图被称为 Container 并且它被设置为 MainWindow 的 contentView
CALayer 称为 Images_Layer - 它是作为容器层的子层添加的层
CALayer 称为 Img_Layer - 它是作为 Images_Layer 的 SubLayer 添加的层(我为每个图像设置了一个,自然设置为内容,然后是 CGImageRef)
当我单击图像 (ImgLayer) 时,会像往常一样触发 3 种方法:
onTouchPointDown - 使用 x、y 等 onTouchPointMove - 使用 x、y 等 onTouchPointUp - 使用 x、y 等