屏蔽层和添加子层iOS之间的区别
Posted
技术标签:
【中文标题】屏蔽层和添加子层iOS之间的区别【英文标题】:Difference between masking a layer and adding sublayer iOS 【发布时间】:2018-08-07 09:58:55 【问题描述】:想了解屏蔽任何图层和添加图层作为子图层之间的确切区别。我已经搜索并找到了一些答案,但无法正确理解。
我发现像遮罩这样的东西会导致屏幕外渲染,但添加子图层不会,所以我们不能只使用 addsublayer 吗?
在这里我找到了一些东西,但没有得到这个,所以如果有任何 this 的例子会有所帮助
更具体:让我们说layer1
现在我想了解以下之间的区别:
addSublayer(layer1)
mask = layer1
我们在这里知道,两者都是使用 UIView
的主层应用的,例如 view.layer
【问题讨论】:
【参考方案1】:Layer - 是“超级视图上的下一个视图”,但子层是“超级层上的下一层”。 层次结构: 视图(超级)-> 有视图(超级)-> 有图层(超级):[layer1, layer2, etc] -> layer1(super) -> 有 sublayers(super) [sublayer1, sublayer2, etc]。 子层 - 层次结构中的端点。
一个视图可以有更多的层。层可以有更多的子层。但子层不能有其他子层。
//对不起我的英语:)
【讨论】:
感谢您的回复,但我的问题是使用addSublayer:
添加图层和使用mask = layer
添加图层之间的区别【参考方案2】:
如果我理解正确,图层会添加到视图顶部,而蒙版是当前图层的减法。
如果您有一个渐变层,请将其添加到视图中,它将遵循指定的渐变方向,比如说从下到上。但是,如果您添加与蒙版相同的渐变,您将减去该图层,因此它希望渐变来自顶部到底部。您也可以使用蒙版来剪切图像中的形状。不过它们非常相似。
【讨论】:
以上是关于屏蔽层和添加子层iOS之间的区别的主要内容,如果未能解决你的问题,请参考以下文章
王道考研 计算机网络13 局域网 以太网 FDDI网 ATM网 适配器 MAC地址 IEEE802.11标准 无线局域网 数据链路层的MAC子层和LLC子层
添加 CAGradientLayer 子层时,UITableViewCell 不拾取 UITableViewCellSelectionStyleBlue