屏蔽层和添加子层iOS之间的区别

屏蔽层和添加子层iOS之间的区别,ios,objective-c,swift,calayer,cashapelayer,Ios,Objective C,Swift,Calayer,Cashapelayer,想要了解掩蔽任何层和添加层作为子层之间的确切区别。我已经搜索并找到了一些答案,但无法正确理解 我发现掩蔽会导致屏幕外渲染,但添加子层不会,所以我们不能只使用addsublayer吗 在这里,我发现了一些东西,但没有得到这一点,因此,如果有任何例子,我会帮助更多 更具体:让我们有一个层,比如说layer1,现在我想了解以下两个层之间的区别: addSublayer(layer1) mask=layer1 我们知道,这两个层都是使用我们的UIView的主层应用的,就像视图一样。layer层-是

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

我发现掩蔽会导致屏幕外渲染,但添加子层不会,所以我们不能只使用addsublayer吗

在这里,我发现了一些东西,但没有得到这一点,因此,如果有任何例子,我会帮助更多


更具体:让我们有一个层,比如说
layer1
,现在我想了解以下两个层之间的区别:

  • addSublayer(layer1)
  • mask=layer1
我们知道,这两个层都是使用我们的
UIView
的主层应用的,就像
视图一样。layer

层-是“超级视图上的下一个视图”,但子层是“超级层上的下一个层”。 等级: 视图(超级)->具有视图(超级)->具有层(超级):[layer1、layer2等]-> 层1(超级)->具有子层(超级)[子层1、子层2等]。 子层-层次结构中的端点

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


//对不起,我的英文是:)

如果我理解正确,图层将添加到视图顶部,而遮罩是当前图层的减法


如果有渐变层,将其添加到视图中,它将遵循指定的渐变方向,例如从下到上。但是如果你添加与遮罩相同的渐变,你将减去图层,因此它会希望渐变从顶部到底部。还可以使用遮罩在图像中剪切形状。不过它们非常相似。

谢谢您的回答,但我的问题是使用
addSublayer:
添加层和另一方面使用
mask=layer