遮罩层和添加子层iOS

时间:2018-08-07 09:58:55

标签: ios objective-c swift calayer cashapelayer

想要了解掩蔽任何层与将层添加为子层之间的确切区别。我已经搜索并找到了一些答案,但无法正确理解。

我发现类似蒙版的东西会导致屏幕外渲染,但是添加子层却不能,所以我们不能只使用addsublayer吗?

我在这里找到了一些东西,但没有得到,所以如果有this的任何示例会有所帮助


更具体:现在让我们说一个layer1,我想了解以下内容之间的区别:

  • addSublayer(layer1)
  • mask = layer1

我们在这里知道,两者都是通过UIView的主层(如view.layer

来应用的)

2 个答案:

答案 0 :(得分:0)

图层-是“超级视图上的下一个视图”,而子层是“超级图层上的下一个视图”。 耶拉里: 视图(超级)->具有视图(超级)->具有图层(超级):[layer1,layer2等]-> layer1(super)->具有sublayers(super)[sublayer1,sublayer2等]。 子层-层次结构中的端点。

一个视图可以有更多的层。层可以有更多子层。但是子层不能有其他子层。

//对不起,我的英语:)

答案 1 :(得分:0)

如果我正确理解了这一点,则将图层添加到视图的顶部,而遮罩将减去当前图层。

如果您有一个渐变图层,则将其添加到视图中,它将遵循指定的渐变方向,可以说是从下到上。但是,如果您添加与蒙版相同的渐变,则将减去该图层,因此,它希望渐变从上到下。您也可以使用蒙版剪切图像中的形状。但是它们非常相似。