利用 Reverse first and second item 調整 Auto Layout 的 constant
使用 Auto Layout 設定條件時,Constraint 的 Constant 欄位常常用於設定間距,比方下圖 Constant 的 10 代表 Peter 的右邊界和 Safe Area 的右邊界有著 10 points 的間距。(ps: 假設系統設定由左到右的語言,比方中文,因此 Trailing 代表右邊)
不過最近有同學問彼得潘,為什麼他的 constant 是負數呢 ?
以下圖為例,constant 欄位竟然是小於 0 的 -10。
constant 的確可以是負數。上圖的意思是 Peter.Trailing 等於 Safe Area.Trailing * 1 — 10
。換句話說,Peter 的右邊界等於 Safe Area 的右邊界 — 10,因此 Peter 的右邊界和 Safe Area 的右邊界有著 10 points 的間距。
不喜歡看到負數,想要 constant 是正數也很簡單。只要顛倒 First Item 和 Second Item 即可。
請點選 First Item 或 Second Item,然後再點選 Reverse First And Second Item。
顛倒後 Constant 變成了正數,條件變成 Safe Area 的右邊界等於 Peter 的右邊界 + 10
,它的意思其實跟顛倒前的條件 Peter 的右邊界等於 Safe Area 右邊界 — 10
一模一樣。
我們也可以用生活中的例子對比,比方 Peter 身高 180,Hook 身高 170,形容他們的身高差距時,以下兩種說法是一樣的意思。
- Peter 的身高是 Hook 的身高 + 10。
- Hook 的身高是 Peter 的身高 — 10。
因此 constant 是正是負,其實只是 First Item 和 Second Item 的順序造成的影響。