clipsToBounds 与 masksToBounds 的区别与联系

Posted alexZeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了clipsToBounds 与 masksToBounds 的区别与联系相关的知识,希望对你有一定的参考价值。

clipsToBounds
是指视图上的子视图,如果超出父视图的部分就截取掉,
masksToBounds
却是指视图的图层上的子图层,如果超出父图层的部分就截取掉

在调用 clipsToBounds 方法时,就会调用其 layer 的 masksToBounds 方法:

 1 -(BOOL)[UIView(Rendering) clipsToBounds]
 2     +0  3091938a  55              pushl    %ebp
 3     +1  3091938b  89e5            movl     %esp,%ebp
 4     +3  3091938d  e800000000      calll    0x30919392
 5     +8  30919392  59              popl     %ecx
 6     +9  30919393  8b4508          movl     0x08(%ebp),%eax
 7    +12  30919396  8b5004          movl     0x04(%eax),%edx         (CALayer)_layer
 8    +15  30919399  8b8186cb1301    movl     0x0113cb86(%ecx),%eax    masksToBounds
 9    +21  3091939f  89450c          movl     %eax,0x0c(%ebp)
10    +24  309193a2  895508          movl     %edx,0x08(%ebp)
11    +27  309193a5  c9              leave
12    +28  309193a6  e92e211801      jmpl     0x31a9b4d9

 

以上是关于clipsToBounds 与 masksToBounds 的区别与联系的主要内容,如果未能解决你的问题,请参考以下文章

clipsToBounds 是如何工作的?

UICollectionView、分页和 clipsToBounds [重复]

UIView属性clipsTobounds的应用

clipsToBounds 在 UIStackView 中似乎没有效果

clipsToBounds / maskToBounds 不适用于表格视图单元格中的图像视图?

UIView clipsToBounds不起作用