Я считаю, что вы хотите, чтобы обрезать рисунок в текущем графическом контексте. Apple имеет хорошие документы на этом . Их пример кода работает блестяще и является каноническим примером того, как выполнить довольно эффективное рисование в графическом контексте, настраиваемом Cocoa до того, как ваш drawRect:
будет вызван.
По сути, когда вызывается ваш drawRect
, все, что вы в итоге рисуете, автоматически маскируется путем отсечения текущего графического контекста (иначе говоря, путь настроен с помощью: [myBezierPath addClip]
). addClip
- это метод, специально разработанный для изменения текущего графического контекста, который «заблокирован» как цель метода addClip
перед вызовом drawRect
.