2011-06-12 128 views
2

我试图让我的脑袋围绕核心图形和核心动画。我理解以下内容:在CALayer中绘制核心图形

  • 使用UIView,我可以通过覆盖drawRect与Core Graphics进行绘制。
  • 我可以创建多个CALayer的的并设置其属性,并让他们加入

我的问题是: - 如果我创建一个CALayer的从头开始(不使用类似CALayer *myLayer = myUIView.layer),什么是绘制的方法CALayer? - 对于UIView,CALayer相当于drawRect的什么?

我希望这是有道理的。

回答

5

要做到自定义绘制你有两种选择:

  1. 子类的CALayer和实施-drawInContext:
  2. 让你自己的类作为图层的委托来执行Quartz例程。它应该执行-drawLayer:inContext:

您应该将您的自定义图层作为子图层添加到您的UIView图层中。您应该通过CALayer的文档页面了解一些关于如何与视图图层进行交互的规则。

+0

谢谢!我会试一试并跟进。 – shawnzizzo 2011-06-13 13:43:12

+1

我刚刚读过,你可以通过继承UIView并实现+ layerClass来返回你的自定义图层类,使你的自定义图层成为UIView的图层。您可以这样做,而不是将您的自定义图层添加为视图图层的子图层(whew)。 – pe8ter 2011-06-24 23:52:22