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