iOS - Можно ли использовать UIGraphicsGetCurrentContext вне drawRect?
Я хочу динамически изменить текущий CGContextRef в соответствии с различными действиями пользователя? Возможно ли это или его модификация возможна только в пределах drawRect:
из экземпляра представления? Что происходит, когда я звоню UIGraphicsGetCurrentContext()
вне drawRect:
и есть ли какие-либо ограничения в этом, рекомендуется ли это? Любые возможные последствия, которые я должен рассмотреть?
1 ответ
Согласно документации графический контекст устанавливается только перед вызовом этой функции. Это означает, что если эта функция не вызывается, она не будет установлена, и если вы не заставите систему вызывать ее снова (никогда не делайте это самостоятельно по этой причине), ее тоже не будет.
Используйте одну из этих функций, чтобы вернуть представление в drawRect:
setNeedsDisplay:
setNeedsDisplayInRect:
Это не значит, что вы можете делать вещи только внутри drawRect. Этот контекст в настоящий момент является глобально доступным, и вы можете вызывать чистые отдельные функции или даже классы для рисования вещей. Передача ссылки на эти функции является чистым способом сделать это.