Надеюсь, это поможет, но я пытаюсь обернуть голову вокруг концепции. У меня есть UIScrollView, добавленный к self.view в моем ViewController, с верхним, ведущим, задним и нижним краями, прикрепленными к таковому self.view. Это viewA
.
У меня есть второй UIView, viewB
, с несколькими подпредставлениями. Каждое из этих подпредставлений добавляется в viewB
с помощью AutoLayout, и для краткости каждому из этих подпредставлений присваивается ограничение высоты, установленное в значение.
Я хочу добавить viewB
к viewA
, чтобы viewA
мог прокручивать по вертикали. Поскольку viewB
несомненно выше, чем viewA
, он должен прокручиваться.
Я добавляю viewB
вот так;
viewB.topAnchor.constraint(equalTo: viewA.topAnchor).isActive = true
viewB.leadingAnchor.constraint(equalTo: viewA.leadingAnchor).isActive = true
viewB.trailingAnchor.cosntraint(equalTo: viewA.trailingAnchor).isActive = true
Вот где я застрял. Если я установлю нижнюю привязку (viewB.bottomAnchor.constraint(equalTo: viewA.bottomAnchor).isActive = true
), мой UIScrollView не прокручивается, и viewB
заметно обрезается.
Если я установлю случайную высоту для viewB
(используя viewB.heightAnchor.constraint(equalToConstant: 2000.0).isActive = true
), UIScrollView выполняет прокрутку, хотя эта константа слишком велика.
Я запутался, как получить соответствующую высоту для viewB
. Поскольку viewB
имеет фактическую высоту (с жестко закодированными подпредставлениями), я не вижу причины, по которой AutoLayout не сможет рассчитать эту высоту viewB
, даже если не задана нижняя привязка, но не может выяснить правильный код.