2009-09-13 50 views
8

我有一個NSSplitView和左邊我有一個的tableView(如源列表),並根據行選擇,我想改變分割的右側視圖。我無法弄清楚如何做到這一點。的NSSplitView的設置一面編程

當我加入我的期望子視圖的SPLITVIEW,它增加了一個分流(所以現在有總共3次......不是我想要的)。

[mySplitView addSubview:myCustomView]; 

如何正確設置splitView的右側?

更新

使用

[mySplitView replaceSubview:[[mySplitView subviews] objectAtIndex:1] withSubview:myCustomView] 

似乎工作,但是這是相當奇怪的調整拆分視圖,我怎麼能停止?在IB中,有一個選項可以關閉autoResizesSubviews,但我無法取消選中此選項。有任何想法嗎?

回答

9

嘗試在執行交換之前將新視圖的框架設置爲舊視圖的框架。

+0

精美的作品。謝謝! – jbrennan 2009-09-13 23:53:56

+0

你是怎麼做到的? – JonF 2012-02-01 04:29:41

+1

@JonF:1.獲取舊視圖的框架。 2.將新視圖的框架設置爲該框架。 3.然後將舊視圖換成新視圖。 – 2012-02-01 05:19:51

0

此外,你可能會看一看BWToolkit它提供了好得多的方式來設置的拆分窗格兩側的大小。

+0

我已經看過這個,我可能會最終使用它。現在我想學習如何做'硬路',這樣我就可以更好地理解它們。我發現,當我開始使用工具包時,感覺就像魔術一樣。在我感到舒服後,我會盡可能地使用它。我沒有聽到任何事情,但很好。 – jbrennan 2009-09-14 01:01:52