我真的不明白這個......的邏輯......奇怪的iOS佈局系統。iOS佈局爲什麼中心約束不夠?
我把一個UILabel的約束對齊中心X到Superview。
爲什麼它抱怨需要X位置的新約束?
center is center no?
我真的不明白這個......的邏輯......奇怪的iOS佈局系統。iOS佈局爲什麼中心約束不夠?
我把一個UILabel的約束對齊中心X到Superview。
爲什麼它抱怨需要X位置的新約束?
center is center no?
您需要詳細瞭解視圖的水平位置。居中視圖並沒有說它具有固定的寬度,或者應該保持視圖周圍的前/後空間。
這裏有兩個可能的選項(也有與固定縱橫比固定的高度,如在@Moshe他的回答說):
該警告是誤用。這並不意味着沒有限制。應該說「沒有足夠的約束來計算X位置」。
您需要爲X的位置添加一個約束,但是您還需要給自動佈局提供足夠的約束來計算視圖的寬度。
您既可以提供領先空間也可以提供尾部空間,或者您可以提供寬度,或者您可以提供高度和比率。 Autolayout只需要一些工作。
如果你確實添加了一箇中心x約束,這應該是足夠的自動佈局來計算x位置。但是你確定你沒有設置中心和約束嗎?在Interface Builder中拖動這些行的方向可能會造成混淆,因此當您打算設置x約束時,您可能會不小心設置了約束條件。如果您嘗試居中x,則您仍然需要y位置的約束,無論是垂直居中還是從頂部或底部到超視圖或其他視圖的空間。
它還需要知道寬度是固定的,還是應該隨屏幕擴展。 – rdurand 2014-09-19 12:58:48
另外,請看[Ray Wenderlich的2部分自動佈局教程](http://www.raywenderlich.com/50317/beginning-auto-layout-tutorial-in-ios-7-part-1) – rdurand 2014-09-19 13:11:40