изменить порядок содержимого при изменении ориентации с помощью автоматического макета - PullRequest
0 голосов
/ 03 сентября 2018

Интересно, как я могу добиться следующего с помощью автоматических макетов в Swift 4 на доске историй:

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

В ландшафтном режиме квадратичный вид должен быть слева, имея высоту ландшафта и равную ширину, таким образом, снова будучи квадратичным. Теперь другие элементы управления должны быть справа.

Естественно, поведение противоположное: порядок элементов управления всегда верхний -> нижний, независимо от ориентации. Но для меня крайне важно, чтобы представление квадратичной коллекции заполняло как можно большую часть экрана.

Как мне добиться этого поведения?

1 Ответ

0 голосов
/ 03 сентября 2018

Я нашел ответ. В XCode10 сначала установите все свои ограничения, например, в портретном режиме. Затем переключитесь в ландшафтный режим. После этого можно нажать кнопку "View as: iPhone ...", появится область с кнопкой "Vary for Traits".

В диалоговом окне мы можем выбрать изменение в зависимости от "Ширина" (= Пейзаж) или "Высота" (= Портрет), что означает, что мы можем определить отдельный набор ограничений для ориентации, которую мы имеем до сих пор не использовано.

В конце концов, у нас есть два набора ограничений для ландшафтного и портретного режима.

Этот довольно обширный урок объясняет больше: https://www.raywenderlich.com/492-adaptive-layout-tutorial-in-ios-11-getting-started

...