Как заставить дочернее представление определять размер родительского / родного вида с помощью AutoLayout? - PullRequest
0 голосов
/ 30 сентября 2019

У меня есть два UIView сгруппированных по вертикали, и родительский вид, заключающий их так:

enter image description here

Представление B является горизонтальным стекомвид, я могу добавить к нему дочерние представления динамически с помощью кода. То, что я хочу, это:

  1. Когда ширина представления B изменяется, ширина родительского просмотра изменяется вместе с ним.
  2. Просмотр ширины изменяется вместе с родителем и перерисовывается, чтобы соответствовать новому размеру.

Я добавил ограничения для представления A и представления B, чтобы их начальное и конечное направление были такими же, как родительское представление. Я думал, что когда представление B увеличивается, оно будет «толкать» родительское представление так же широко, как и оно само, а родительское представление будет «растягивать» представление A на ту же ширину.

Но получается, что с представления Aимеет начальную ширину, ширина родительского вида ограничена этим, а ширина представления B ограничена той же шириной. Представление B не увеличивается, но вместо этого его сжимают.

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

1 Ответ

1 голос
/ 30 сентября 2019

Если вы хотите изменить размер, просто измените ширину вида А, чтобы она была больше или равна. Таким образом, он может быть такого размера или больше. В инспекторе того же размера есть «Приоритет сопротивления сжатию содержимого». Более высокие числа уменьшают вероятность уменьшения изображения. Если вы измените свое сопротивление на 1000 в представлении B, оно вряд ли изменится неправильно.

Xcode greater than or equal view sizeXcode content compression resistance priority

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...