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

Какая разница между фреймом и макетом в инспекторе размера построителя интерфейса?

В IB есть раскрывающийся список в Инспекторе размеров, показывающий "Макет" и "Рамка". Я знаю, что такое фрейм, но я не знаю, что такое макет в этом случае. В чем разница?

4b9b3361

Ответ 1

Когда подкладка контролирует вверх и измеряет их расстояния друг от друга, часто желательно подумать о местах расположения элементов управления в терминах визуального пространства, которое они занимают на экране, а не просто их необработанных кадров. Во многих случаях визуальный прямоугольник, которым управляет элемент управления, и его структура значительно отличаются. Например, кнопка обычного размера выглядит примерно на 20 пунктов на экране, с теневой тканью 2 или 3 точки. На самом деле, рамка правильно настроенной кнопки составляет 32 точки, а не ~ 23. Эти дополнительные 9 пунктов очков не визуально очевидны.

"Прямоугольник макета" - это имя, которое использует Interface Builder для этой концепции.

Макет прямоугольника полезен для приложений измерения и калибровки. Руководящие принципы управления человеческим интерфейсом Apple могут сделать утверждение, что "Две кнопки, выровненные по вертикали и горизонтально рядом друг с другом, должны иметь 12 точек пространства, разделяющих их по горизонтали". Это 12 точек пространства, отделяющих кнопки, следует измерять из рамок макета кнопки, а не из их необработанных кадров.

Ответ 2

Многие встроенные элементы IB имеют отдельный прямоугольник "layout" и "bounds". Вы можете увидеть разницу, показывая их, используя "Макет > Показать XXX Прямоугольники". В раскрывающемся списке указывается, к какому прямоугольнику относятся координаты.

В Mac это влияет на UITextFields, которые являются ярлыками, например. Если вы переключаетесь между макетом и рамкой, координата X будет изменяться на 3 пикселя. Я не играл с элементами управления iPhone, чтобы увидеть, влияет ли это на любой из них. Это не очень много.