Подтвердить что ты не робот

Разница между прямоугольным прямоугольником и выравниванием прямоугольника

Может ли кто-нибудь объяснить, в чем разница между Rectangle Frame и Rignangle Rignangle в инспекторе размеров?

UvFNm.png

4b9b3361

Ответ 1

Кадры описывают, где размещать представления на экране и насколько велики эти представления. При построении представлений ограничения используют связанный геометрический элемент, называемый прямоугольником выравнивания.

Прямоугольник выравнивания основан на представлении содержимого элементов, в Auto Layout вместо прямоугольника рамки элементов используется прямоугольник выравнивания. Работая с прямоугольниками выравнивания вместо кадров, Auto Layout гарантирует, что ключевая информация, такая как края ребер и центр, правильно учитывается во время компоновки. В отличие от фреймов прямоугольник выравнивания представлений должен быть ограничен ядром визуального элемента. Его размер должен оставаться незатронутым по мере того, как на него нарисованы новые элементы.

Рассмотрим левую часть рисунка -1. Он показывает вид, нарисованный с тенью и значком. При выделении этого представления вы хотите, чтобы Auto Layout фокусировался на выравнивании только основного элемента - синего прямоугольника, а не орнамента.

enter image description here

Рисунок - 1: Прямоугольник выравнивания представлений (в центре) относится строго к визуальному элементу ядра, который должен быть выровнен, без украшений.

Центральное изображение на рисунке -1 выделяет прямоугольник выравнивания представлений. Этот прямоугольник исключает все орнаменты, такие как тень и значок. Его часть представления, которую вы хотите, чтобы Auto Layout рассматривал, когда он выполняет свою работу. Правый прямоугольник на рисунке -1 охватывает все визуальные элементы вида. Он охватывает тень и значок. Эти орнаменты могут потенциально сбросить функции выравнивания представлений (например, центр, снизу и справа), если они были рассмотрены во время компоновки.

enter image description here

Рисунок -2 Автоматическая компоновка учитывает только этот прямоугольник выравнивания, когда выкладывает его как центрированный в своем супервизии. Тень и значок не влияют на его размещение.

Ссылка: ссылка

Ответ 2

Из Apple Руководство по автоматическому компоновке:

Макет работает при выравнивании прямоугольников, а не в кадрах

При рассмотрении макета следует иметь в виду, что рамка элемента управления менее важно, чем его визуальная протяженность. В результате украшения, такие как тени и линии гравировки обычно следует игнорировать для цели макета. Интерфейс Builder игнорирует их при позиционировании на холсте - в следующем примере, руководство Aqua ( пунктирная синяя линия) выравнивается с визуальным масштабом кнопки, а не с рамкой кнопок (сплошной синий прямоугольник). enter image description here

Чтобы разрешить компоновку на основе представления контента, а не рамка, представления обеспечивают прямоугольник выравнивания, что является макет фактически работает. Чтобы определить, является ли ваше переопределение исправьте OS X, вы можете установить значение NSViewShowAlignmentRects по умолчанию YES, чтобы нарисовать выпрямления выравнивания.

Итак, это всплывающее меню в Xcode предоставляет вам возможность просматривать и редактировать размер и положение вида на основе его прямоугольника выравнивания или его прямоугольника рамки.