我正在更新現有應用程序以自動佈局以支持更多設備大小。我有需要和動畫,而不是與約束工作,我將它們設置爲幾個對象:我可以忽略「無法同時滿足約束條件」嗎?
self.secondCounter.translatesAutoresizingMaskIntoConstraints = YES //example
使用舊SETFRAME方法。
這似乎是工作,但拋出的第一個動畫的運行時錯誤:
無法同時滿足的約束。以下列表中的約束中的至少一個 可能是您不想要的。嘗試 這:(1)看看每個約束,並試圖找出哪些你不期望; (2)找到添加了不需要約束或約束的代碼並對其進行修復。 (注意:如果你看到 NSAutoresizingMaskLayoutConstraints,你不明白,請參閱 到文檔中的UIView財產 translatesAutoresizingMaskIntoConstraints)( 「」, 「」, 「」)
將嘗試恢復通過打破約束
在UIViewAlertForUnsatisfiableConstraints 上設置一個符號斷點,以便在調試器中捕獲此斷點。 中列出的UIView的UIConstraintBasedLayoutDebugging類別中的方法也可能有所幫助。 2014-10-07 19:41:12.903 AppName [5018:1153922]無法同時滿足約束條件。 以下列表中的至少一個約束可能是您不需要的一個 。嘗試這一點:(1)看看每個約束,並嘗試找出你不期望的 ; (2)找到添加了不想要的約束或約束並修復它的代碼。 (注意:如果你看到 NSAutoresizingMaskLayoutConstraints,你不明白,請參閱 到文檔中的UIView財產 translatesAutoresizingMaskIntoConstraints)( 「」, 「」, 「」)
將嘗試恢復通過打破約束
在UIViewAlertForUnsatisfiableConstraints 上設置一個符號斷點,以便在調試器中捕獲此斷點。 中列出的UIView的UIConstraintBasedLayoutDebugging類別中的方法也可能有所幫助。
其實是因爲我沒有設置這個對象的任何約束我沒有得到這個消息,(我聽到的Xcode設置它們每默認情況下,建立在自動佈局XIB每個視圖)。
但不知何故,一切看起來不錯,似乎工作。
我可以忽略此消息嗎?或者稍後我會遇到問題嗎?
謝謝澄清。但實際上我並沒有對這個觀點給予任何限制......如果我這樣做,會不會有錯誤? – arnoapp 2014-10-07 18:24:45
試圖添加約束但實際上消息是相同的 – arnoapp 2014-10-07 18:31:27
啊,自動調整掩碼不需要在運行時轉換爲約束。嘗試禁用它:'[view setTranslatesAutoresizingMaskIntoConstraints:NO];'' – 2014-10-08 01:25:46