我在視圖中有一個按鈕。我在界面構建器中爲我的按鈕設置了圖像。 ,我已經添加到我的按鈕界面生成器的約束條件是:當我NSLog myBtn.constraints記錄額外約束
右空間的SuperView = 10
頂部空間的SuperView = 10
底部空間的SuperView> = 10
留下空間到一個標籤> = 10
所有的東西都能正常工作,我對我的佈局沒有任何問題。 但是當我登錄按鈕限制使用此代碼:
NSLog(@"constraints for btnBack is: %@", self.btnBack.constraints);
控制檯日誌:
constraints for btnBack is:(
"<NSContentSizeLayoutConstraint:0x7c35c400 H:[UIButton:0x7c3588a0(102)] Hug:250 CompressionResistance:750>"
"<NSContentSizeLayoutConstraint:0x7c35c450 V:[UIButton:0x7c3588a0(92)] Hug:250 CompressionResistance:750>")
我知道,頂部和左,右側和底部的限制不應該在這裏登錄,因爲它們是superview約束不是按鈕約束。 但是在這裏我沒有添加任何寬度和高度限制到我的按鈕(即使在代碼中)。
爲什麼會在控制檯中記錄高度和寬度的約束?
所以你的意思是他們就像真正的約束?我強迫我的寬度增長,然後我看到我的按鈕縮小。 (因爲我沒有爲我的按鈕添加約束寬度)。如果我將約束寬度添加到我的按鈕(在界面構建器中),我的按鈕不縮小。 –
是的,它們是真正的約束條件,但默認情況下它們的優先級低於Required(1000)。當你添加你的寬度約束時,默認情況下它的優先級爲Required(1000),所以它「勝利」。 –
謝謝。正確答案。 –