2011-03-04 179 views
6

我曾經使用並喜歡RBSplitView,但是我沒有以編程方式重新實現它,因爲某個版本的xcode不再支持IB插件。以編程方式調整大小NSSplitView

因此我回到使用NSSplitView。 NSSplitView適合我需要的,關鍵是NSSplitView的autoSave被破壞了。所以我決定自己實施它。

我現在正在做的事情是調整NSSplitView的子視圖中的1個。

什麼是正確調整NSSplitView的大小? - setPositionOfDivider:itIndex:應該走的路(沒有嘗試過),但我不知道如何獲得分頻器的當前位置。

- 在此先感謝

回答

4

以我的經驗,NSSplitView恨你,祝你的傷害。 RBSplitView好得多,這是值得海事組織頭疼的編程佈局(我已經燒了ShortcutRecorder IB插件,我永遠不會回到IB插件)。

這就是說....

的唯一途徑,我知道,以確定分頻器的當前位置是看子視圖,找到分頻器的觀點,把它的框架,制定出它的位置請記住dividerThickness。你必須編寫代碼是瘋狂的,但代碼不是非常困難,你可以把它放在一個類別中。

或者回到RBSplitView雖然你仍然可以,如果你的需求會變得複雜。

+0

它的一個簡單的聊天窗口,我的需求不會很快成爲了複雜的任何時間。我確信代碼並不難,只是想知道是否有一個*正確*的方式,因爲調整1子視圖在大小爲0時確實有效,反正iam現在就試試這個,如果它有效,你會得到一個cookie – 2011-03-04 15:24:18

+0

position = subView0.frame.size.height + subView0.frame.origin.x;作品 - 不是實際的代碼,但我做到了這一點,這是什麼工作 – 2011-03-04 16:08:35

+0

你的意思是subView0.frame.size.width? – ericg 2011-08-30 21:31:10

1

我在這裏使用斯威夫特但是同樣的方法應該在目標存在C:

mySplitter.setPosition(123, ofDividerAtIndex: 0) 
相關問題