我正在切換到自動佈局,並且希望將視圖相對於設備的高度進行定位。我應該如何設置約束來滿足這種條件。在iOS中定位取決於設備高度的視圖
我有很好的佈局爲iPhone 5,但對於iPhone 6Plus我想移動 「紅」 到 「灰色」 的位置:
所有我目前的約束條件:
我正在切換到自動佈局,並且希望將視圖相對於設備的高度進行定位。我應該如何設置約束來滿足這種條件。在iOS中定位取決於設備高度的視圖
我有很好的佈局爲iPhone 5,但對於iPhone 6Plus我想移動 「紅」 到 「灰色」 的位置:
所有我目前的約束條件:
正如我看到你想把你的形式放在視圖的中心。所以我認爲最好的解決方案是將你的表單元素放在另一個透明視圖上,並添加到這個視圖的centerX對齊約束和centerY對齊約束中。
,您可以檢查另一種方式here
一個想法可能是把用戶名,密碼和登錄的項目上有clearBackground一個UIView,然後創建該視圖的約束和它的父,創造一個出口吧。然後,您可以檢測您在代碼中使用的手機,並在willLayoutSubviews中以編程方式修改約束。
if ((int)[[UIScreen mainScreen] bounds].size.height == 736)
{
// This is iPhone 6+ screen
myConstraint.constant = 150;
} else if ((int)[[UIScreen mainScreen] bounds].size.height == 568) {
// This is iPhone 5s screen
frameRateLabelHeightConstraint.constant = 100;
}
將會有一個更好的方式來做到這一點的自動佈局毫無疑問,但我覺得這是一個有點混亂,所以我已經在過去使用此方法。
這是一個樣本項目上傳@One Drive。這裏是各種版本的iPhone模擬器的示例輸出...
給你的用戶名/密碼視圖w.r.t的底部間距。條款和條件標籤。這將解決問題。 – 2015-01-21 11:22:55
「佈局與」什麼? – Fishman 2015-01-21 11:25:21
@Fishman你可以在這裏找到解決方案http://stackoverflow.com/a/37325714/2477632 – 2016-05-19 14:55:04