2015-11-16 119 views
0

我正在開發一款應用程序,它只針對iphone 5,6和6+設備。由於所有這些設備具有相同的尺寸比例,我如何設置自動佈局來調整所有不同的iPhone尺寸的一切尺寸 - 或者我應該不使用自動佈局?iPhone 5,6,6 + iOS自動佈局

試圖大小班「任何瓦特/任何H」,我不能夠得到期望的結果:

enter image description here

回答

0

你會得到很多關於這個主題不同的答案,但我認爲Autolayout是最簡單的路線。在Interface Builder屏幕的底部,您可以在不同的屏幕尺寸之間切換。它看起來是這樣的:like this

首先,您將爲「w:Any h:Any」設置約束條件。如果有任何「特殊情況」,例如緊湊的屏幕,您可以切換該按鈕以選擇您希望配置約束的尺寸並相應地更新它們。

更新

如果你想在不同的屏幕在同一個地方按比例保留的項目,你可以添加一些UIView對象的故事板,將作爲間距的佔位符。需要爲這些佔位符指定類或類似的東西(儘管您可能想要更改它們的背景)。然後,配置您的約束。

更新2 看您發佈的圖片,看來你可能沒有設置限制(正確?)在底部(取消,連接完成)按鈕。你希望這些按鈕在每個屏幕尺寸的底部顯示,對吧?

+0

它看起來像是在談論大小類,而不是專門針對自動佈局。如我錯了請糾正我? – royherma

+0

當您在界面構建器中指定尺寸等級時,自動佈局將爲您完成這項工作。我會從任何一個x開始,並在遇到問題時跨越問題。 – Adrian

+0

不起作用 - 請參閱更新後的帖子請 – royherma

0

正如其他人所指出的,自動佈局是一個很好的解決方案。你也可以考慮使用靜態內容的表格視圖。 iOS會自動調整表格視圖的大小及其內容以適應可用空間。請參閱本文中的示例:

http://www.oliverfoggin.com/using-a-static-uitableview-as-a-layout-device/

MarkupKit是一個開源框架,它可以幫助你用任何一種方法(我是該項目的作者)。它提供了抽象自動佈局細節的類,所以你不需要自己處理它。以下是同樣的例子如上述使用MarkupKit實施:

http://gkbrown.org/2015/11/01/using-a-static-uitableview-as-a-layout-device-markupkit-edition/

0

可以通過禁用尺寸類和使用的元件和UIView的與用於元件之間的間隔動態大小成比例的寬度和高度約束實現這一點。此外,這些動態UIView將通過使用比例寬度和高度約束來創建。我製作了幾款在iPhone 5,6,6 Plus,6S,6S Plus模擬器中看起來完全相同的應用程序。我通過模擬器截圖來衡量。如果我解釋一切,這個問題的答案將會太大。但無法解釋任何事情,因爲我沒有任何要求我可以建議你的事情的樣機。如果你有iPhone 5的樣機在這裏發佈。我將創建一個示例Git回購,我將添加約束元素,你會分析。也可以使用我的方法將隱藏在屏幕內的大多數複雜屏幕顯示爲彈出式元素。問題是我無法解釋一切。我在下面的鏈接中回答了一些問題。你可以看他們瞭解我想說明什麼。

https://stackoverflow.com/a/31336272/4030971

https://stackoverflow.com/a/31156987/4030971

https://stackoverflow.com/a/31915676/4030971

https://stackoverflow.com/a/31870625/4030971

https://stackoverflow.com/a/31447103/4030971

https://stackoverflow.com/a/31431519/4030971