簡體   English   中英

iOS - 與自動布局成比例的間距

[英]iOS - proportional spacing with autolayout

我正在嘗試使用界面構建器創建完美的按比例縮放視圖。 到目前為止,一切都很好。 我正在以編程方式縮放字體,按鈕等。唯一的問題是元素之間的約束(間距)保持不變。 我想避免為間距限制創建出口,因為它看起來很亂。 我希望元素之間的間距保持成比例,因為我拉伸元素。 現在,所有內容都根據屏幕的左側對齊。 如果我伸展我的視線,一切都保持左對齊。 我希望它按比例分開。 我怎樣才能做到這一點(最好使用界面構建器)?

在此輸入圖像描述

假人的意見??? 你肯定是在逗我。 如果那是Apple推薦的 - 那么我對他們並不十分尊重。

您正在尋找的是中心水平(中心X對齊)約束,然后您只需要使用乘數,同時將常量保持為0:

在此輸入圖像描述

乘數從0到2

1 will place the center of the subview at the center of the superview.
0 will place the center of the subview at the left edge of the superview.
2 will place the center of the subview at the right edge of the superview.
0.5 will place the center of the subview at 25% through the superview.
1.5 will place the center of the subview at 75% through the superview.

擺脫所有這些水平空間限制。 並且總是考慮乘數 - 約束的常數應始終設置為0。

Apple痴迷於原生分辨率 - 他們不希望您的設計在不同的屏幕尺寸上進行縮放。 擰緊它們。 一路縮放分辨率。

注意 - 這是一種粗略的做法。

我有一個類似的問題,並通過在我的對象之間添加虛擬視圖來解決它,以表示它們之間的間距。 您可以將虛擬視圖約束為與其余視圖成比例縮放,這將使對象之間的間距與整體大小正確縮放。 我設置了我的虛擬視圖的隱藏屬性,因此它們不會顯示(注意 - 它們在被隱藏時仍然可以正確布局)。

希望有所幫助。

編輯:

這種方法是不完美的(你必須用無關的視圖來混淆IB),但像@sha說它似乎是完成它的唯一方法。 事實證明,其他人一直在提供類似的建議。 我遇到了這些可能有用的參考資料:

AutoLayout可保持視圖大小成比例

AutoLayout:布局一致性,比例元素間距為3.5“和4”屏幕

暫無
暫無

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

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