2016-10-14 68 views
1

我正在使用iOS 9的Xcode 8構建並使用自動佈局。InterfaceBuilder添加的不可刪除約束條件

偶爾當我在Interface Builder中安裝一個約束時,會立即發生衝突。當我點擊紅色披露並查看衝突限制時,我會看到我剛剛安裝的那個和另一個衝突。當我點擊我安裝的約束時突出顯示。當我點擊衝突約束時,它不會突出顯示。單擊紅點刪除約束時,衝突約束旁邊的複選框變灰,無法選擇。當我返回到文檔檢查器或大小檢查器時,我沒有看到爲其應用的對象列出了衝突約束。

所以它在我看來像Interface Builder添加了無法刪除的約束。我的問題是這些不能容忍的限制是沒有幫助的。例如,我爲堆棧視圖中的視圖添加寬度> = 50的約束,並發現它與無法刪除的系統添加的寬度= 0約束相沖突。

有誰知道爲什麼會發生這種情況,或者我怎麼能解決它?謝謝。

回答

0

檢查是否在任何其他大小類中添加了衝突約束。可能會發生該約束僅在該大小類中啓用,並且對於您當前正在處理的大小類禁用該約束。

1

爲避免衝突,請將寬度限制的優先級降低到250.系統爲UIStackView添加的約束優先級爲1000.如果您在堆棧視圖中隱藏視圖,它將設置寬度(或高度)約束常數爲零。