經過自定義的漫遊和自定義演示動畫之後,我設置了呈現視圖的約束條件。爲什麼在設置約束條件後無法再調整NSWindow的大小?
let views = ["view" : childVC.view]
let horizontalConstraints = NSLayoutConstraint.constraintsWithVisualFormat("H:|[view]|", options: [], metrics: nil, views: views)
let verticalConstraints = NSLayoutConstraint.constraintsWithVisualFormat("V:|[view]|", options: [], metrics: nil, views: views)
parentVC.view.addConstraints(horizontalConstraints)
parentVC.view.addConstraints(verticalConstraints)
當我打印出父/呈現viewcontroller的視圖的約束時,只有這四個約束。現在我希望我的子視圖可以像NSWindow一樣調整大小,但兩者都不能再調整大小。
我也給translatesAutoresizingMaskIntoConstraint = false
一個嘗試,但我真的不明白它。此外,它從視圖中刪除所有內容。
那麼我在這裏錯過了什麼?
這聽起來幾乎可以理解。我不明白的是,爲什麼我的NSVisualEffect視圖對內容視圖的相同約束使窗口保持可調整大小。唯一的區別是我可以看到NSVisualEffect視圖是通過IB建立的,而不是通過代碼。 – Marc
對於啓用了自動佈局的NIB或故事板,IB將關閉所有視圖的「translatesAutoresizingMaskIntoConstraint」(除了任何獨立的頂級視圖之外,這些視圖會將視圖保留給您)。 –
我的錯誤是,我將'translatesAutoresizingMaskIntoConstraints = false'設置爲內容視圖,而不是子視圖。現在一切都按預期工作。 – Marc