我正在嘗試創建一個具有兩個視圖的布局 - 由附加影像中的紫色和紅色框表示。我希望視圖的位置基本上鎖定,這樣當手機旋轉時,兩個視圖保持在同一個位置。
我無法弄清楚如何在快速故事板中做到這一點。我看過一些類似的帖子,但它們似乎不適用于 Xcode 13。
期望的結果:

uj5u.com熱心網友回復:
第 1 步:使用適當的約束以通常的方式創建縱向視圖。例如我有這個:

第 2 步:單擊視圖底部的方向按鈕將視圖翻轉為橫向

第 3 步:為所有需要在水平視圖上不同的約束添加一個變體。例如,在我的示例中“SmallerView.leading = Safe Area.leading”仍然可以(不需要變化),但是“SmallerView.trailing = Safe Area.trailing”在水平視圖中沒有意義,我需要“SmallerView.trailing = LargerView” .leading”代替。所以我需要為“SmallerView.trailing = Safe Area.trailing”和“LargerView.leading”兩者添加變化。
為此,我只需為需要更改的約束打開 Attributes Inspector,找到 Installed 一詞,然后單擊左側的 Add Variation( 按鈕):

我要添加的變體是針對緊湊高度,以及常規或任意寬度(取決于您計劃支持的設備)。單擊添加約束。

現在我看到了:

但我只想在 Portrait 視圖中使用這個約束,所以我需要取消選中 hC:

對所有其他不適用于水平視圖的約束執行相同的操作。
第 4 步:現在我需要添加特定于水平視圖的約束。為此,請切換到水平視圖(底部工具列上的方向按鈕)
您現在將看到您的約束,其中一些已禁用:

現在您可以添加缺少的約束。例如,在我的情況下,我添加了 3 個新約束:

步驟 5:切換到縱向,現在在縱向模式下禁用步驟 4 中的那些附加約束。這次您取消選中沒有 hC 前綴的已安裝:

而已。檢查Class Sizes以了解何時應該準確使用 Regular 或 Compact。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/409031.html
標籤:
