Система координат

Система координат является двумерным пространством, в котором Вы располагаете, измеряете, преобразовываете и рисуете видимые объекты своего приложения, и в котором Вы определяете местоположение пользовательских событий. Приложения в iOS и OS X полагаются на систему координат, определяющую местоположение точек с помощью горизонтальных и вертикальных осей (т.е. ось X и ось y), которые пересекаются в общей точке источника (0.0, 0.0). От источника положительные значения увеличиваются в одном направлении вдоль любой оси; отрицательные величины увеличиваются в противоположных направлениях. Вы выражаете точку в этом координатном пространстве как пара чисел с плавающей точкой в модулях пространства пользователя, неприкрепляющихся к любым модулям в пространстве устройства, таким как пиксели. Получение почти всегда происходит в секторе координатного пространства, где и ось X и значения оси y положительны.

Art/window_coordinate.jpg

Системы координат могут иметь различные ориентации получения

Система координат по умолчанию для представлений в iOS и OS X отличается по ориентации вертикальной оси:

  • OS X. Система координат по умолчанию возникает в нижней левой из области получения; положительные значения расширяются и вправо от него. Можно программно «зеркально отразить» систему координат представления в OS X.

  • iOS. Система координат по умолчанию возникает в верхней левой из области получения, и положительные значения расширяются вниз и вправо от него. Вы не можете изменить ориентацию по умолчанию системы координат представления в iOS — т.е. Вы не можете «зеркально отразить» ее.

Art/flipped_coordinates.jpg

Windows и представления имеют их собственные системы координат

Приложение имеет многократные системы координат в игре в любое время. Окно расположено и измерено в координатах экрана, определяющихся системой координат для дисплея. Само окно представляет основную систему координат для всего получения и обработки событий, выполняемой ее представлениями. Каждое представление в окне обслуживает свою собственную систему локальной координаты для рисования себя; эта система координат определяется представлением bounds свойство. Представление frame свойство выражает свое расположение и размер в системе координат его суперпредставления; то же самое представление, в свою очередь, обеспечивает основную систему координат для расположения и калибровки его подпредставлений.

И AppKit и платформы UIKit обеспечивают методы для преобразования точек и прямоугольников между системами координат представления и другого представления, представления и его окна, и (на OS X) экран и окно. Приложение определяет местоположение мыши, планшета, жеста и мультисенсорных событий в системе координат окна, но представления могут легко преобразовать их в свои системы локальной координаты.

Можно также отобразить точки от одного координатного пространства до другого использования двумерного математического массива, известного как преобразование. Используя преобразования, можно легко масштабировать, повернуть и перевести содержание в двумерном пространстве.

Необходимые как условие статьи

Проекты примера кода