Значение «Оставить графический контекст в любом состоянии» - PullRequest
0 голосов
/ 28 мая 2018

Я использую функцию «Базовый текст» CTLineDraw.Но похоже, что это имеет некоторый побочный эффект на CGContextRef: заполнение прямоугольников больше не работает после CTLineDraw для того же контекста (но работает до или, если я закомментировал CTLineDraw вызов).

СогласноCTLineDraw и некоторые другие функции в «Базовом тексте» документов:

Этот вызов может оставить графический контекст в любом состоянии и не сбрасывать контекст после операции рисования.

Думаю, это может быть связано.Но что именно означает это предложение?Что я должен сохранить и восстановить состояние контекста (это помогает)?

1 Ответ

0 голосов
/ 28 мая 2018

Да, вам следует сохранить состояние перед первым вызовом CTLineDraw, который вы делаете, и восстановить его после последнего.Что означает эта строка в документации, так это то, что Core Text внутренне устанавливает различные биты состояния для выполнения отрисовки текста, о котором вы просили, и не возвращает их автоматически после этого.

...