masksToBounds和cornerRadius之间的关系是什么?
我的滚动有一些意见是cornerRadius = 10.0
和masksToBounds = YES
。
这会导致滚动我的滚动视图的性能问题。 虽然我尝试了每个视图的shouldRasterize
设置为YES
,但问题并没有解决。
但是,我知道这个问题的解决scheme。 那就是masksToBound
被设置为NO
。 ( masksToBound's
默认值是NO)尽pipemasksToBound
是NO
,我的视图的angular仍然有曲线,性能问题也解决了。
我想知道cornerRadius
和masksToBounds
之间的关系。 我担心这个设置意外的问题。
谢谢。
提供了指定用于绘制接收者背景的圆angular的半径的cornerRadius
后。
现在取决于masksToBounds
,它决定了子层是否被剪裁到接收者的边界。 因此,如果设置为YES
,则将与图层边界相匹配的隐式蒙版应用于该图层,其中包括cornerRadius
属性的效果。 如果设置为YES
并指定了掩码属性,则将两个掩码相乘以获取实际的掩码值。
例如:
如果您在具有图像内容的CALayer
上设置该图像,图像仍将被绘制在angular半径边界之外。 你可以通过设置sublayer.masksToBounds
为YES
来解决这个问题。 但如果你这样做,阴影将不会显示出来,因为它们会被掩盖掉!
没有任何特定的关系船..实际上,当你调用angular半径它将裁剪视图以你已经通过半径和MaskToBound:是使它透明的部分,你已经裁剪否则它将是可见的…