16

我的卷轴有一些观点是cornerRadius = 10.0masksToBounds = YES

这会导致滚动我的滚动视图时出现性能问题。虽然我尝试了每个视图的shouldRasterize设置YES,但问题并没有解决。

但是,我知道这个问题的解决方案。就是这样masksToBound设置的NO。(masksToBound's默认值为NO)虽然masksToBoundNO,但我的观点的角落仍然有曲线,性能问题也解决了。

我想知道cornerRadius和之间的关系masksToBounds。我担心此设置会出现意外问题。

谢谢你。

4

2 回答 2

26

在提供cornerRadiuswhich 指定用于绘制接收器背景的圆角的半径之后。

现在它取决于masksToBounds哪个确定子层是否被裁剪到接收器的边界。因此,如果将其设置为YES,则会将与图层边界匹配的隐式蒙版应用于图层,包括cornerRadius属性的效果。如果设置为YES并指定了掩码属性,则将两个掩码相乘以获得实际掩码值。

例如:

如果将其设置在CALayer带有图像内容的 a 上,图像仍将绘制在圆角半径边界之外。sublayer.masksToBounds你可以通过设置来解决这个问题YES;但如果你这样做,阴影将不会出现,因为它们会被掩盖!

于 2012-07-04T08:51:10.570 回答
-2

没有任何特定的关系..实际上,当您调用 Corner Radius 时,它会以您通过的半径裁剪视图,并且 MaskToBound:Yes 使其对您裁剪的那部分透明,否则它将是可见的......

于 2012-07-04T08:12:57.003 回答