Понимание UIGraphicsGetCurrentContext () - PullRequest
       57

Понимание UIGraphicsGetCurrentContext ()

6 голосов
/ 23 сентября 2011

Я пытаюсь понять Кварц и понять контекст, на котором вы должны рисовать.Если у меня есть функция, в которой я создаю контекст, но затем я вызываю другую функцию для какого-то другого чертежа в том же контексте, нужно ли передавать контекст из первого метода в следующий?Или я могу просто использовать UIGraphicsGetCurrentContext() для любых методов компьютерной графики, которые требуют контекста, поскольку я все еще рисую в том же контексте?

1 Ответ

14 голосов
/ 05 декабря 2012

Документы для UIGraphicsGetCurrentContext () говорят:

Текущий графический контекст по умолчанию равен нулю.До вызова его drawRect: метод, объекты представления помещают действительный контекст в стек, делая его текущим.Однако если вы не используете объект UIView для рисования, вы должны вручную вставить действительный контекст в стек, используя функцию UIGraphicsPushContext(_:).

Так что после вызова UIGraphicsPushContext() с контекстомВы создали, другие ваши методы могут получить доступ к этому контексту с помощью UIGraphicsGetCurrentContext().Если вы вызываете UIGraphicsGetCurrentContext() вне drawRect: и не устанавливаете контекст явно с помощью UIGraphicsPushContext(), текущий графический контекст не определен и, безусловно, небезопасен для использования.

...