iOS - различные стековые представления для классов размеров - PullRequest
0 голосов
/ 20 мая 2018

Я использую UIStackView для разметки в одной из моих таблиц XIB, чтобы упростить изменение размера, а также я использую классы размеров, поскольку между телефонами и планшетами существуют различия в разметке.

Из-заПо какой-то причине я должен использовать разные стеки для каждого размера.Скажите stackview1 для iPhone и stackview2 для iPad.Теперь я перешел на label1 в stackview1 в классе размеров iPhone, переключился на класс размеров iPad и хотел переместить label1 в stackview2 с stackview1 (который выделен серым цветом).Но как только я сделаю это и вернусь к классу размеров iPhone, Label1 переместится из stackview1, и макет iPhone облажается.

Интересно, сталкивался ли кто-нибудь с этим раньше и получил какие-либо решения?

ОБНОВЛЕНО

Чтобы уточнить,

  1. Я реализовал следующие два макета исключительно через ограничения, и коллеги убедили меня, чтомакет с использованием UIStackView может быть легче адаптироваться к изменениям пользовательского интерфейса.Например, в схемах ниже есть ограничение расстояния (12) между label1 и label3, если я хочу, чтобы label3 поднялся один раз, label1 и label2 скрыты / ноль, у меня будетвручную установить ограничение расстояния на 0. В то время как если через UIStackView, установите label1 и label2 как скрытые, и мы все настроены.Это только пример, таких изменений гораздо больше.

  2. Причина, по которой мне нужны разные UIStackView для класса размеров, заключается в конструктивных различиях.

Расположение телефона iPhone Layout Расположение планшета iPad Layout

1 Ответ

0 голосов
/ 10 августа 2018

Похоже, что нет способа достичь цели, используя тот же stackview.Я закончил тем, что решил это, используя один xib и частично применил stackview.В моем примере выше я поместил метки 1, 2 и 3 в стек, потому что макет этих трех меток можно повторно использовать в разных классах размеров.Остальные ограничения устанавливаются индивидуально без просмотра стека.

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