问题
I've got an NSSplitView
and on the left side I've got a tableView (like a source list) and depending on row selection, I want to change the the right side of the split view. I can't quite figure out how to do this.
When I add my desired subview to the splitview, it adds another split (so now there's 3 views total... not what I wanted).
[mySplitView addSubview:myCustomView];
How do I properly set the right side of my splitView?
Update
Using
[mySplitView replaceSubview:[[mySplitView subviews] objectAtIndex:1] withSubview:myCustomView]
Seems to work, however it's resizing the split view rather oddly, how can I stop this? In IB there's an option to turn off autoResizesSubviews
but I can't uncheck this. Any ideas?
回答1:
Try setting the frame of your new view to that of the old view before performing the swap.
回答2:
Also, you might take a look at BWToolkit which provides a much nicer way to set the sizes for the sides of a split pane.
来源:https://stackoverflow.com/questions/1419038/setting-one-side-of-an-nssplitview-programmatically