CGContext - есть ли способ сбросить текущий контекст - PullRequest
15 голосов
/ 04 февраля 2009

В моем проекте iPhone у меня есть UIView, где я реализую метод drawRect:

- (void)drawRect:(CGRect)rect {
    CGContextRef context = UIGraphicsGetCurrentContext();

Внутри метода я делаю целую кучу рисования линий, изображений и текстов, используя этот контекст. Проблема заключается в том, что при повторном использовании этого представления контекст не сбрасывается. Есть ли способ, который я могу вызвать для сброса контекста как-то?

Ответы [ 2 ]

15 голосов
/ 04 февраля 2009

Возможно, вы захотите проверить CGContextSaveGState (контекст) и CGContextRestoreGState (контекст). Они позволят вам толкать и выдвигать текущее состояние контекста.

Если ваше представление «искажено», проверьте настройку contentMode вашего представления.

1 голос
/ 10 июня 2011

Вы также можете использовать CGContextClearRect(context, CGRectMake(0, 0, width, height));

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...