маскировка UIView на основе CGRect - PullRequest
2 голосов
/ 30 августа 2011

Посмотрите на изображение, пожалуйста: enter image description here

У меня есть UIView и CGRect.Я должен проверить, где CGRect перекрывает UIView, а затем установить маску в области, которая "противоположна" пересечению.Так что это синяя часть изображения.Как этого добиться?Я знаю, что есть CGContextClipToMask, но я не знаю, как это использовать - кто-то может мне помочь с примером кода?Является ли CGContextClipToMask хорошим направлением?

Спасибо!

1 Ответ

5 голосов
/ 30 августа 2011

Вы можете назначить слой маски для слоя вашего 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

...