簡體   English   中英

兩個約束如何共同作用以定義軸上的位置

[英]How do two constraints work together for defining position on an axis

我遇到了使用兩個約束共同定義一個視圖在軸上位置的方法。 例如,我有一個視圖的Y軸約束是

View.centerY = 0.3 x centerY

即相對於centerY 現在,如果我添加另一個約束:

View.top ≥ top + 10

現在,如果頂部空間恰好是≥ top + 10 ,它將可以工作,並且在相對較大的屏幕設備上也不會有任何區別。 但是,這是我的問題,為什么它會影響較小的屏幕設備? top + 10嘗試將視圖向下推時,兩個約束不會沖突嗎? 以下屏幕截圖顯示了iPhone 4s的區別:

無≥頂+ 10

在此處輸入圖片說明

≥頂部+ 10

在此處輸入圖片說明

iPhone 4S設備尺寸320x480

由於這種原因,這正在發生

  1. 第一約束0.3 x centerY

centerY = 480/2 = 240

解決這個0.3 * 240 = 72

所以查看centerY = 72

  1. view.top> = superview.top + 10 iPhone 7視圖[![] [1] ] 2解決這個superview.top = 0

因此,視圖y = 0 + 10 = 10(y將始終大於或等於10)

您可以在附加圖像中檢查我是否設置了與您相同的約束,並且查看位置都隨時間變化,但是我的乘數為0.5,因為在乘數0.3中,兩個約束都將相互沖突。

暫無
暫無

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

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