如何设置一个NSSplitView的起始位置?
我发现的最接近的东西,看起来像它的工作是setPosition两种
//Set splitView position.
[splitView setPosition:330 ofDividerAtIndex:0];
这似乎并不尽管做任何事情,我仍然SPLITVIEW开始在中心的分隔符。
有任何想法吗?
如何设置一个NSSplitView的起始位置?
我发现的最接近的东西,看起来像它的工作是setPosition两种
//Set splitView position.
[splitView setPosition:330 ofDividerAtIndex:0];
这似乎并不尽管做任何事情,我仍然SPLITVIEW开始在中心的分隔符。
有任何想法吗?
也许这是中心? 如果SPLITVIEW正确挂接到拆分视图,该代码应工作。 你或许应该登录[SPLITVIEW minPossiblePositionOfDividerAtIndex:0]和[SPLITVIEW maxPossiblePositionOfDividerAtIndex:0]尝试设置分隔条的位置,所以你知道的可能值之前。
你不设置分隔条的位置,您将NSSplitView的子视图的大小。 分频器然后自动重新定位。
这是我如何定位我的分频器和子视图大小(SWIFT):
let subview: NSView = mySplitView.subviews[1] as NSView
subview.setFrameSize(NSMakeSize(subview.frame.size.width, 100))
NSSplitView
需要初始非大小的界限,使他们正确地布局。 如果您的视图具有零大小,那么就不会显示出预计的布局。
最好的办法是提供非零布局(这是IB做什么),但有时这是不可能的。
如果你不能提供非零大小,那么我认为你必须提供适当的- (void)splitView:(NSSplitView *)splitView resizeSubviewsWithOldSize:(NSSize)oldSize
委托方法实现手动布局一切自己。 (这是我目前最好的做法)
在视图的类住房拆分视图
override func viewWillAppear() {
self.mySplitView.setPosition(120, ofDividerAtIndex: 0)
}
或者你需要的地方开始。