我想知道你是否可以帮助我在层上绘画 .
情况就是这样
我在这种屏幕上进行编程http://multitouch.com,同时进行12次触摸 . 在我正在开发的应用程序中,我可以管理多个图像 . 我可以旋转,同时缩放所有图像的移动(屏幕上最多12次触摸!)为了实现这一点,我只使用层来进行表演 . 每个图像都由CALayer表示,然后我创建我的CALayer 's and set the image as its ' contents' . 层次结构就是这个 .
我只有一个NSView .
-
NSView "Container_View"
-
CALayer "Images_Layer"作为"Container_View"图层的子图层(它们具有相同的框架)
-
CALayer "Img_1_Layer",CALayer "Img_2_Layer",CALayer "Img_3_Layer"等作为"Images_Layer"的子图层
正如我之前告诉过你的,我可以旋转,缩放和移动我的图像 .
双击单个图像,我锁定整个屏幕,我仍然可以旋转和移动图像,但只能用两根手指 .
现在我希望用户可以用1个手指在这个图像上绘图 .
主要的问题是我没有图形经验,互联网上的所有例子都是关于视线的绘制线 .
问题是如何用手指在CALayer上画画 . 我只有CALayer,我不能拥有NSView
很多人提前,塞尔吉奥
嗨Mazyod,提供Image的CALayer类非常大 .
请尝试了解这一背景
MainWindow自然为root
NSViewController使用自定义NSView作为根视图调用MainViewController - 此视图称为Container,并将其设置为MainWindow的contentView
CALayer称为Images_Layer - 它是一个添加为Container层的SubLayer的图层
CALayer称为Img_Layer - 它是一个添加为Images_Layer的SubLayer的图层(我为每个图像添加了一个,自然地设置为内容,然后是CGImageRef)
当我点击图像(ImgLayer)时,会像往常一样触发3个方法:
onTouchPointDown - 使用x,y等onTouchPointMove - 使用x,y等onTouchPointUp - 使用x,y等
1 回答
好的,我找到了 .
设置图层的委托
在委托中覆盖此方法
在需要时调用图层setNeedDisplay方法
-
(void)drawLayer:(CALayer *)layer inContext:(CGContextRef)ctx
{
}