Можно ли использовать ограничения, чтобы указать высоту видов в процентах от родительского вида, но также ограничить максимальную результирующую высоту? - PullRequest
0 голосов
/ 01 апреля 2019

Я новичок в XCode и настроил контроллер представления с помощью построителя интерфейса.Корнем является представление стека, для которого установлено значение «Выравнивание: заполнение и распределение: заполнение пропорционально».

Каждый элемент в представлении стека прикрепляется к представлению родительского стека, а ограничения используются для указания высоты в процентах от стека.просмотр (т. е. весь экран) с использованием множителей Superview.Height.

Эта часть прекрасно работает, все виды масштабируются до требуемого процента высоты и хорошо смотрятся на устройствах, таких как iPhone 5s.

Однако на таких устройствах, как XS Max, некоторые элементы управления, например текстовые поля, выглядят слишком высокими, и текст внутри занимает слишком много места сверху и снизу (по сравнению с прямоугольником текстового поля).

Желаемый результатбыло бы так, чтобы все виды масштабировались вместе с экраном, но в случае слишком высокого разрешения и соотношения сторон текстовые поля оставались бы немного меньше и оставляли бы оставшееся пространство для других видов.

Моя первая идея быладобавить второе ограничение к текстовым полям, где высота установлена ​​как меньше или равна (fили экземпляр) 30 в сочетании с существующим процентом высоты.Но я попробовал это и попробовал другие значения Приоритета, но пока не повезло.

Есть ли способ достичь желаемого результата, используя ограничения и автоматические макеты в текущей (плоской) иерархии представления?

Или лучше взглянуть на добавление вложенных представлений стека и установить ограничение высоты в процентах для вложенного представления стека, позволяя текстовому полю внутри обрабатывать свою собственную высоту?

Предложения приветствуются!

1 Ответ

1 голос
/ 01 апреля 2019

Distribution: Fill Proportionally, возможно, является наиболее неправильно понятым свойством стековых представлений и, вероятно, не выполняет то, что ожидается (или то, что требуется).

Согласно комментариям OP ... изменение свойства Distribution (я предполагаю, что оно было изменено на Fill) решает проблему.

...