2017-02-20 5 views
0

Я изучаю Auto Layout Guide и тем не менее это просто, как по горизонтали Ограничения работы, я не могу понять, как он рассчитывается вертикальный интервал на Y оси в этом примере (который псевдокод):Auto Layout вертикального пространства Метод расчета

enter image description here

Vertical Constraints: 
Red.top = 1.0 * Superview.top + 20.0 
... 


Horizontal Constraints: 
Red.leading = 1.0 * Superview.leading + 20.0 
... 

Если мы Superview.top формирования изображения находится в точке (х:, у: 100), то в соответствии с первым ограничением, Red.top будет расположен по адресу: 1 * 100 + 20, что означает (х:, y: 120), которая выше Superview.top! так почему он расположен ниже Superview.top на изображении выше !?

+0

По той же логике, почему 'Red.leading' не впереди' superView.leading'. –

+0

Моей точкой было, наконец, мнение, что это не 120 верхний к супервирту. Это идеальное решение, что у подзона y находится в позиции 120 с вершины супервизора. –

+0

Если вы представляете эти два атрибута по оси X, Red.leading опережает superView.leading. – Jami2

ответ

1

Я думаю, что вы получили это сомнение из-за отсутствие знаний в ИО системы координат,

В прошивке, есть два основные типа систем координат:

Верхнего левое-начало системы координат (ULO), в котором начало операций рисования находится в верхнем левом углу области рисования, причем положительные значения распространяются вниз и вправо. Система координат по умолчанию, используемая структурами UIKit и Core Animation, основана на ULO.

Система координат нижнего левого угла (LLO), в которой начало операций рисования находится в нижнем левом углу области чертежа, с положительными значениями, проходящими вверх и вправо. Система координат по умолчанию, используемая базой Core Graphics, основана на LLO.

Пожалуйста, обратите внимание на скрине, По умолчанию системы координат в прошивкой *Default coordinate systems in iOS*

Так, согласно ULO мы измеряем ось у от вершины.

реферала: https://developer.apple.com/library/content/documentation/2DDrawing/Conceptual/DrawingPrintingiOS/GraphicsDrawingOverview/GraphicsDrawingOverview.html

https://developer.apple.com/library/content/documentation/General/Conceptual/Devpedia-CocoaApp/CoordinateSystem.html

1

В соответствии с Auto Layout Guide, для атрибутов Top, Bottom и Baseline значения увеличиваются по мере перемещения по экрану. Таким образом, он работает против нормальных значений оси Y.

Смежные вопросы