一尘不染

Maskstobounds vs Clipstobounds

swift

就我而言, clipstoboundsmaskstobounds 都执行相同的工作。

我找不到它们之间的任何区别。

有人请解释两者的不同之处。


阅读 237

收藏
2020-07-07

共1个答案

一尘不染

masksToBounds

扩展到其边界之外的该层的任何子层都将被裁剪到这些边界。在这种情况下,可以将层视为其子层的窗口;窗口边缘以外的任何内容都将不可见。当masksToBounds为NO时,不会发生裁剪。

当此属性的值为true时,Core
Animation将创建一个隐式剪贴蒙版,该蒙版与图层的边界匹配并包括任何角半径效果。如果还指定了mask属性的值,则将两个掩码相乘以获得最终的掩码值。

您可以在API参考中获取更多信息。

clipToBounds

clipsToBounds的用例更多地用于部分位于主视图之外的子视图。例如,我在其父级(矩形)UIView的边缘上有一个(圆形)子视图。如果将clipsToBounds设置为YES,则仅显示一半的圆/子视图。如果设置为“否”,则会显示整个圆圈。刚遇到这个所以想分享

2020-07-07