簡體   English   中英

如何使用情節提要板為不同的設備設置自動布局

[英]how to set autolayout for different devices by using storyboard

我有一張包含9個不同區域按鈕的冰島地圖。 每個按鈕都有不同的大小。 我希望地圖可以在不同的設備上顯示相同的內容。 我只知道將中央按鈕設置為水平放置在容器中,垂直放置在容器中。 但是,其他按鈕,無論我如何設置約束,在iphone SE或iPhone Plus上都會一團糟。 (我正常使用iphone 8)

在此處輸入圖片說明

在此處輸入圖片說明

誰能教我如何設置8個左鍵的約束? 謝謝!

最好的事情是垂直的UIStackView嵌套了3個水平的堆棧

MainStackView約束

垂直和水平居中,寬度和高度與屏幕成比例

然后在其內部放置3個stackViews設置axis = horizo​​ntal並為每個內部堆棧放置3個按鈕

注意:所有堆棧的分布均為fillEqually,間距= 10

在此處輸入圖片說明

期待這個演示

我過去所做的事情都使用單個控件作為所有其他控件的錨點。

基本上,這意味着將中心按鈕固定在容器視圖的中間(水平和垂直中心)

然后,將中間/頂部和底部控件限制在其上(垂直空間和水平居中位置)

垂直居中和水平居中

從那里開始,將行中的每個控件限制在這些元素上(水平間距和垂直居中)

頂排 底行

您可能還考慮將大小限制為中心控件,因此所有控件共享相同的大小。 對我來說,這意味着將控件的寬度限制為一個設置值,然后對高度應用寬高比。 我這樣做是因為然后我可以更改寬度約束的值,並且所有控件都會更改大小

大小相等

因為iPhone 5s,iPhone,iPhone +,iPhone X都共享相同的“大小設置類”,所以這使其變得更加困難(因為您無法應用特征-但您可以在iPad和iPhone上使用;)。

此時,我將中央控件的寬度約束(如果需要,還可以綁定高度)綁定到源代碼,並且在加載視圖時,確定設備的屏幕尺寸並對約束值進行較小的調整。

如果您希望使用完整的“故事板”解決方案,則可以將中央控件的寬度限制在超級視圖上,並應用修飾符

寬度受限於超級視圖

使用情節提要中的“設備”模板,布置一台iPhone 5s和iPad Pro

iPhone 5S iPad Pro

總而言之,您擁有“選項”。 您甚至可以考慮使用UIStackView定義行,就我個人而言,我發現將控件約束到中央錨點更容易-但這是我的經驗,您的需求可能有所不同

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM