1

我一直在查看CALayer 的文档,它似乎cornerRadius只影响图层的背景,而不影响contents.

有没有办法将角半径应用于整个CALayer而不会对性能造成很大影响?

我看过有关口罩的建议,但这听起来很昂贵。我也看到了关于contents手动绘制的建议,但我真的不知道从哪里开始。我对在上下文中渲染图像有所了解,但我不知道我应该如何将它绘制到CALayer具有角半径的内容视图上。我知道的最好的方法是继承CALayer并覆盖该drawInContext方法并使用CGContextDrawImage.

非常感谢所有帮助,但要重申这个问题:“有没有办法将角半径应用于整个CALayer而不会对性能造成很大影响?”

4

1 回答 1

4

cornerRadius确实适用于整个 CALayer,并且不会对性能造成很大影响。如果您没有看到带有圆角的内容,那是因为您忘记设置masksToBounds为 YES。

于 2012-09-18T18:01:49.257 回答