這似乎是一個非常基本的問題,但我找不到答案。在Xcode 4中手動指定約束interfacebuilder/storyboard
當我向故事板中的場景添加元素,或者拖動它們或調整它們的大小時,Xcode會自動添加和刪除約束條件來描述它們的大小和位置。
現在,一旦Xcode中創造了一個特定類型的約束 - 說,一個高度約束 - 我知道,我可以修改它的屬性 - 通過屬性檢查器 - Relation
,在高度約束的情況下Constant
和Priority
。我所知道的不能算出是如何手動添加或移除給定類型的約束,而不是依靠Xcode的魔術來爲我這樣做。
例如,在我目前的情況,我有一個包含一個工具欄和一個表視圖中的視圖控制器。現在,我知道我想用來形容這兩個觀點的垂直位置和大小到底是什麼制約因素:
- 工具欄的頂部有垂直空間0從屏幕頂部
- 的工具欄具有固定高度
- 表視圖的底部具有垂直空間0從屏幕
- 表視圖的頂部的底部具有垂直空間0從工具欄的底部
這樣桌面視圖的高度將根據屏幕尺寸進行適當調整。然而,Xcode在它的智慧中已經認定這不是我想要的,而是對我造成了以下限制(不管我多少次隨機拖動它都不想改變東西周圍和祈禱):
- 工具欄的頂部有垂直空間0從屏幕頂部
- 工具欄的底部有垂直空間526從屏幕
- 表的底部視圖從屏幕底部開始具有垂直空間0
- 表視圖擁有526
其結果是一個固定的高度,一切都錯了,當我嘗試查看較小的屏幕上我的ViewController,或在容器:
不存在當我確切知道我需要的是令人沮喪的時候,能夠手動設置我自己的限制。我如何顯式刪除Xcode自動創建的廢話約束,並手動添加自己的約束?
Just FYI - Xcode 5 DP不會觸及你的約束,除非你問它,即使你有不明確的約束。 Xcode 4的體驗目前確實無法使用。 –
這在現代版本的Xcode中不再是問題。 – jtbandes