2011-09-15 24 views
1

我有一個包含兩個子視圖的NSSplitView。我的目標是將每個子視圖限制爲最小寬度,但窗口的最小寬度取決於哪些子視圖可見。例如,如果左/側欄子視圖(最小寬度爲100)摺疊,則允許窗口一直調整到右/主子視圖的最小寬度(比如200)。我有那部分工作的大部分。我無法弄清的部分是:當左側/側邊欄未摺疊時(通過拖動或雙擊),窗口寬度應增加以留出左側和右側視圖的空間(即至少100 + 200 +分頻器)。當NSSplitView子視圖展開/未塌縮以騰出空間時,將NSWindow加寬

任何人都可以指向正確的方向嗎?謝謝。

回答

0

如果您想了解的是如何以編程方式設置窗口最小寬度,則必須手動執行此操作,這意味着在用戶瀏覽視圖時更新窗口框架和最小尺寸。 Documentation

根據您的需要,這blog post也可能對你有幫助。

+0

謝謝,奧斯卡。我得到了如何以編程方式設置最小窗口寬度和框架,但我不知道在我描述的情況下(即當子視圖顯示/未顯露時)該怎麼做。我最近使用的是使用NSSplitViewDelegate的splitViewWillResizeSubviews:在拖動子視圖時調用,但將窗口的框架設置得更寬時,窗口處於奇怪狀態,分離視圖的視圖不會填充新的更寬的窗口(另外,在雙擊打開子視圖時不會調用委託方法)。 – benb

相關問題