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

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


person Crystal    schedule 23.09.2011    source источник


Ответы (1)


В документах для UIGraphicsGetCurrentContext() говорится:

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

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

person davehayden    schedule 05.12.2012
comment
вот рабочая ссылка: developer.apple.com/documentation/uikit/ - person MoralCode; 22.12.2017