【问题标题】:what is relation between masksToBounds and cornerRadius?maskToBounds 和cornerRadius 之间有什么关系?
【发布时间】:2012-07-04 08:04:17
【问题描述】:

我的卷轴有一些视图是cornerRadius = 10.0masksToBounds = YES

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

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

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

谢谢。

【问题讨论】:

    标签: iphone objective-c ios calayer cornerradius


    【解决方案1】:

    在提供cornerRadius 之后,它指定了用于绘制接收者背景圆角的半径。

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

    例如:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2013-10-30
        • 2015-01-02
        • 2012-07-03
        • 1970-01-01
        • 1970-01-01
        • 2023-04-08
        • 2017-09-15
        • 2016-11-05
        • 2022-01-18
        相关资源
        最近更新 更多