掩盖基于CGRect的UIView

时间:2011-08-30 10:42:19

标签: cocoa-touch uiview uikit core-graphics quartz-2d

请看图片: enter image description here

我有UIView和CGRect。我必须检查CGRect覆盖UIView的位置,然后在与“交叉”“对立”的区域上设置掩码。所以它是图像中的蓝色部分。怎么实现呢? 我知道有CGContextClipToMask但我不知道如何使用它 - 有人可以用示例代码帮助我吗?是CGContextClipToMask的好方向吗?

谢谢!

1 个答案:

答案 0 :(得分:5)

您可以将遮罩层指定给UIView的图层。

CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
view.layer.mask = maskLayer;

CGPathRef path = CGPathCreateMutable();
// Construct path and set it.
[maskLayer setPath:path];
CGPathRelease(path);

[maskLayer release];

文档:CALayer reference