[英]iOS, autolayout to add a margin / spacer for iPhone 5 but not iPhone 4?
我對自動布局有點不滿意,在進行刷新/研究之后,我不知道如何實現所需的功能。 我只是在支持風景。 我只是在這里進行緊湊的布局。
我在iPhone 4上的空間恰到好處。但是,我只需要為iPhone 5添加一些間隔板或左右邊距。
他是一個快速的模型。 我需要在A節中添加間距。B節相同
iphone 5
######################
# A BBBBB BBBBB A #
# A BBBBB BBBBB A #
# A BBBBB BBBBB A #
# A BBBBB BBBBB A #
######################
iPhone 4
##################
# BBBBB BBBBB #
# BBBBB BBBBB #
# BBBBB BBBBB #
# BBBBB BBBBB #
##################
通常,當我需要為不同尺寸的屏幕使用不同的尺寸間距時,我會創建輔助視圖(我們稱其為墊片)
創建一個視圖並將其固定在左側邊緣(以及頂部和底部,但這並不重要),並將其Width設置為等於超級視圖寬度(頂部超級視圖)。
現在,編輯其寬度約束以適合您的目的(例如,如果您想在iPhone 5
上設置15
個點,而在iPhone 4
上設置0
,則可以在比率字段中使用0.166
,在常數字段中使用-80
。
將您的視圖固定在該spacer
然后玩得開心:)(您可以在屏幕的兩個邊緣都這樣做)
對於每個想知道我如何得到數字的人: ax + b = y
,在我們這種情況下,我們必須解決以下公式:480 = iPhone 4屏幕高度(或橫向模式下的寬度)568 = iPhone 5屏幕高度(或橫向寬度)橫向模式)
a * 480 + b = 0 ----- this is the iPhone 4 formula
a * 568 + b = 15 ----- this is the iPhone 5 formula
480a = -b
568a - 480a = 15
a = 15 / 88
0.17 * 480 + b = 0
b = -81.6
您可以使B
居中對齊,寬度相等,並且之間有一定間隔。 然后,當有一些額外的空間(例如iPhone 5)時,它會在B
周圍,您將實現目標。
稍后再給您寫詳細的解釋,但是這個想法行得通。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.