2013-03-23 58 views
3

我有一個NSSplitView有四個子視圖。每個子視圖都有一個包含一些文本和開/關複選框的標題,並在其下方有一個NSTableView。用戶可以使用複選框來切換表格的可見性。當子視圖更改時,在NSSplitView中更改分隔符位置

如果該表在程序啓動時可見,並且用戶取消選中該複選框,則該表將消失。子視圖因此變得更小。

如何讓我的NSSplitView對此作出反應(通過調整分隔線)?

回答

7

要以編程方式設置分隔符的位置,請在NSSplitView上調用-setPosition:ofDividerAtIndex:

+0

我想出了一個,但也許我的問題需要澄清。除了移動分隔符外,我想改變子視圖的界限。因此:用戶使表崩潰 - >子視圖的邊界相應地改變** - >通知nssplitview重新分配分隔符。我無法弄清楚如何在其內容減少時正確製作子視圖更改大小(i.c.,表格消失)。 – markjs 2013-03-26 14:50:27

+0

您是否嘗試過在子視圖上調用'-setBounds:'?您可以使用該方法將其設置爲任意大小。你也可以通過使用'-setNeedsUpdateConstraints:'來獲得你想要的自動佈局,但是你可能不得不從你的子視圖中刪除表格 - 即使隱藏了一個視圖,約束仍然適用。 – jatoben 2013-03-26 17:42:04