我知道這個問題似乎是一個老派,但我不能找到一個很好的答案來,有件事:爲如何適應IOS不同的屏幕尺寸
邏輯屏幕分辨率的iPhone5,iPhone6和iPhone6 +:
iPhone5 320 x 568
iPhone6 375 x 667
iPhone6+ 414 x 736
假設我有在屏幕的中心的正方形UI元素,並有三種方式在不同的裝置,以限制它的寬度(&高度):
width
是恆定的width/screen.width
是恆定的screen.width - width
是恆定的
這三種不同的方式有三種不同的外觀制約的結果:
Picture 1: 3 different appearances
我認爲制約的第二個方法(即中間一列在Picture 1
)是從設計師的角度來看最自然的,但從程序員的角度來看它是最不自然的。我需要檢查設備類型和計算尺寸,並針對不同的設備使用不同的圖像(在這種情況下,自動佈局無法幫助)
第一種方式似乎很自然地實現,但實際上很糟糕,特別是在處理文本字體大小。
由於三個不同設備中的三個UI元素與簡單的縮放因子不匹配,因此第三個還需要判斷哪個圖像以編程方式使用。
有什麼辦法可以輕鬆實現第二種約束方式嗎?
UI元素需要適當的缺點traints - 不要硬編碼任何屏幕值。 '1)'添加水平和垂直中心約束(這將保持居中)。 '2)'給廣場增加一個寬度=高度限制(這將使其成爲一個正方形)。 '3)'將superview約束的比例添加到正方形(這會根據屏幕大小給出寬度和高度,沒有任何硬編碼屏幕值,並且適用於所有設備)。 –