Когда я расшифрую в этот ответ , 2D-система координат Quartz использует нижний левый угол как (0,0), что совпадает с оконной системой координат на Mac.IPhone использует верхний левый угол как (0,0) для макета своего представления, поэтому слои, которые поддерживают UIViews, имеют свою систему координат, перевернутую вокруг оси Y.
Если вы используете расширения NSString UIKit для рисования текстав базовый слой для UIView, он будет ориентирован правильно, потому что это отражение принимается во внимание.Однако, если вы используете низкоуровневый текстовый рисунок Quartz, вам нужно сначала перевернуть систему координат вокруг оси Y (чтобы 0,0 снова было слева внизу), чтобы правильно сориентировать вещи.
НормальныйБазовые графические контексты (используемые для рисования изображений или PDF-файлов для хранения или отображения) не инвертируются, поэтому верно обратное.Обычный кварцевый текст будет отображаться нормально, но материал, нарисованный с использованием расширений NSString UIKit, должен сначала инвертировать систему координат.Это вызывает путаницу среди разработчиков, чьи изображения и текст выглядят правильно при выводе на экран, но при сохранении на диск переворачиваются вверх ногами.
Что касается того, почему это было сделано, никто не догадывается.Обе системы координат имеют свои преимущества в определенных обстоятельствах.Это легко исправить, хотя.