Я использую UIStackView
для разметки в одной из моих таблиц XIB, чтобы упростить изменение размера, а также я использую классы размеров, поскольку между телефонами и планшетами существуют различия в разметке.
Из-заПо какой-то причине я должен использовать разные стеки для каждого размера.Скажите stackview1
для iPhone и stackview2
для iPad.Теперь я перешел на label1
в stackview1
в классе размеров iPhone, переключился на класс размеров iPad и хотел переместить label1
в stackview2
с stackview1
(который выделен серым цветом).Но как только я сделаю это и вернусь к классу размеров iPhone, Label1
переместится из stackview1
, и макет iPhone облажается.
Интересно, сталкивался ли кто-нибудь с этим раньше и получил какие-либо решения?
ОБНОВЛЕНО
Чтобы уточнить,
Я реализовал следующие два макета исключительно через ограничения, и коллеги убедили меня, чтомакет с использованием UIStackView может быть легче адаптироваться к изменениям пользовательского интерфейса.Например, в схемах ниже есть ограничение расстояния (12) между label1
и label3
, если я хочу, чтобы label3
поднялся один раз, label1
и label2
скрыты / ноль, у меня будетвручную установить ограничение расстояния на 0. В то время как если через UIStackView
, установите label1
и label2
как скрытые, и мы все настроены.Это только пример, таких изменений гораздо больше.
Причина, по которой мне нужны разные UIStackView
для класса размеров, заключается в конструктивных различиях.
Расположение телефона
Расположение планшета ![iPad Layout](https://i.stack.imgur.com/FonY2.png)