如何設置NSSplitView的起始位置?NSSplitView分隔線的起始位置
我發現的最接近的事情,看起來像它的工作是setPosition兩種
//Set splitView position.
[splitView setPosition:330 ofDividerAtIndex:0];
這似乎並不儘管做任何事情,我仍然SPLITVIEW在中央分隔開始。
任何想法?
如何設置NSSplitView的起始位置?NSSplitView分隔線的起始位置
我發現的最接近的事情,看起來像它的工作是setPosition兩種
//Set splitView position.
[splitView setPosition:330 ofDividerAtIndex:0];
這似乎並不儘管做任何事情,我仍然SPLITVIEW在中央分隔開始。
任何想法?
也許這是中心?如果splitView正確地連接到你的分割視圖,該代碼應該工作。在嘗試設置分隔線的位置之前,您應該記錄[splitView minPossiblePositionOfDividerAtIndex:0]和[splitView maxPossiblePositionOfDividerAtIndex:0],以便知道可能的值。
NSSplitView
需要初始非大小的邊界以使其正確佈局。 如果您的視圖具有零大小,則不會顯示預期的佈局。
最好的辦法是提供非零布局(這是IB做的),但有時這是不可能的。
如果你不能提供非零大小,那麼我認爲你必須提供適當的- (void)splitView:(NSSplitView *)splitView resizeSubviewsWithOldSize:(NSSize)oldSize
委託方法實現來自己手動佈局所有東西。 (這是我目前的最佳做法)
您不設置分隔符的位置,您設置NSSplitView子視圖的大小。分配器然後自動重新定位。
這是我如何定位我的分頻器和子視圖大小(SWIFT):
let subview: NSView = mySplitView.subviews[1] as NSView
subview.setFrameSize(NSMakeSize(subview.frame.size.width, 100))
在視圖中的類住房拆分視圖
override func viewWillAppear() {
self.mySplitView.setPosition(120, ofDividerAtIndex: 0)
}
或任何你想要它開始。
是的,它不是中心。我的最小值是0,我的最大值是999. – arooo 2012-08-17 02:54:29
我不知道該說什麼 - 它對我來說工作得很好。我想知道它是否與約束設置有關?我只是拖出一個分割視圖,向每一邊添加了幾個按鈕和文本字段(這樣就可以看到)並添加了一行代碼。 – rdelmar 2012-08-17 03:00:46
看起來問題在於其他地方,我有一個允許用戶選擇其默認視圖的設置 - 如果我將splitView設置爲默認視圖,那麼分割位於中心。如果我將另一個視圖設置爲主視圖,並使用splitView一切正常工作,單擊視圖。任何想法可能會導致這種情況? – arooo 2012-08-17 03:37:14