2017-02-28 84 views
1

我有一個窗口與程序創建的工具欄,它填充了一個NSToolbarItem具有在xib文件中定義的自定義視圖。如果我檢查視圖的「將遮罩翻譯爲Contraints」,那麼它不會正確調整其自身大小,因此即使將其抗壓縮優先級設置爲750,其內容也會被壓扁。如果我另一方面取消選中,則會得到運行時出現「檢測到缺少約束」錯誤。此外,我的觀點的內容,然後正確地調整自身大小,但它結束了裁剪,像這樣:NSToolbarItem和自動佈局

Example of clipped content

所以看起來工具欄堅持我的觀點放入容器視圖,以獲得正確的行爲,我應該設置佈局約束,讓我的視圖正確定位。但是,我不明白如何訪問該容器視圖...任何想法我做錯了什麼?

我可能錯過了一些顯而易見的事情,因爲人們會認爲這是一個非常標準的設置,但Google沒有提出任何事情。

回答

0

回答我自己的問題,我向蘋果公司打開了一個支持請求,其結果是現在蘋果公司正在把它當作一個錯誤處理。

如果任何人運行到這一點,一個好的解決方法是創建一個包含在工具欄視圖與約束的子視圖@"H:|[toolbarView]"@"V:|[toolbarView]",具有translatesAutoresizingMaskIntoConstraints=YES和使用該視圖工具欄項的中間視圖。然後,只需聽取toolbarView的尺寸更改通知並相應地調整其超視圖的尺寸即可。