Aha i didn't know that.. everyday one learn something new.

G.
On Dec 28, 2009, at 5:21 PM, Ken Ferry wrote:

> This is much easier in 10.6 and later.  From the AppKit release notes:
> New NSSplitView delegate method (New since January 2009 seed)
> To make it easier for your application to maintain the size of given subviews 
> of a split view while the split view is being resized, NSSplitView in Mac OS 
> 10.6 has a new -splitView:shouldAdjustSizeOfSubview: delegate method you can 
> implement. It controls how -adjustSubviews behaves so you don't have to 
> rewrite so much of its default behavior in a 
> -splitView:resizeSubviewsWithOldSize: delegate method.
> 
> By returning NO from this method, you can lock the size of a split view 
> subview while the split view is resized. However, if the split view shrinks 
> beyond the point that all of the resizable subviews are completely hidden, 
> the subviews you returned NO for will start resizing as well to prevent 
> -adjustSubviews from creating an invalid subview layout.
> 
> -Ken
> 
> On Mon, Dec 28, 2009 at 5:14 AM, Gustavo Pizano <[email protected]> 
> wrote:
> Its not so complicated as it look...
> 
> I was having problems also with that... but then I found somewhere on 
> internet how they do it... but they were taking more things into account... I 
> just needed to do what you want.
> 
> just declare the Max and min width/height of your left/top view, implement 
> the delegate methods :
> 
> - (CGFloat)splitView:(NSSplitView *)splitView 
> constrainMaxCoordinate:(CGFloat)proposedMaxofSubviewAt:(NSInteger)dividerIndex
> - (CGFloat)splitView:(NSSplitView *)splitView 
> constrainMinCoordinate:(CGFloat)proposedMinofSubviewAt:(NSInteger)dividerIndex
> 
> to return tohse values.
> 
> then implement:
> - (void)splitView:(NSSplitView *)splitView 
> resizeSubviewsWithOldSize:(NSSize)oldSize
> and there check for:
> the new size of the sender (splitView)
> take the right and left sizes (top/bottom)
> get the divider thickness
> modify only the right/bottom size width/height  and leave the the left/top 
> width/height to be the new frame size.width /size.height (which you got from 
> splitView parameter).
> set the new frames to left and right or top/bottom...
> 
> 
> if you make some miscalculation you will get a message in console saying 
> something that the splitview its being redisplayed and recalculated sizes at 
> the cost of performance... if you get that when resizing the window(view) 
> that contains the splitview then you know you did something wrong... if you 
> don't get it.. then  all was ok.
> 
> I hope it helps.. Im not expert in cocoa yet.. but this works for me.
> G.
> 
> 
> On Dec 28, 2009, at 2:30 AM, Rick Mann wrote:
> 
> >
> > On Dec 27, 2009, at 17:09:18, Andrew Farmer wrote:
> >
> >> On 27 Dec 2009, at 16:41, Rick Mann wrote:
> >>> I have an NSSplitView that divides my window in to two panes 
> >>> (vertically). When the window is resized, I'd like the left pane to keep 
> >>> the width it has, rather than having both panes resizing proportionally. 
> >>> Is this possible?
> >>
> >> Sure. Even without getting BWToolkit involved, a split view delegate can 
> >> control what goes where when the view gets resized.
> >
> > I keep looking for a setting in IB for such things, and don't think to look 
> > for a delegate. Bit of a PITA, but it'll do. Thanks!
> >
> > --
> > Rick
> >
> > _______________________________________________
> >
> > Cocoa-dev mailing list ([email protected])
> >
> > Please do not post admin requests or moderator comments to the list.
> > Contact the moderators at cocoa-dev-admins(at)lists.apple.com
> >
> > Help/Unsubscribe/Update your Subscription:
> > http://lists.apple.com/mailman/options/cocoa-dev/gustavxcodepicora%40gmail.com
> >
> > This email sent to [email protected]
> 
> _______________________________________________
> 
> Cocoa-dev mailing list ([email protected])
> 
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
> 
> Help/Unsubscribe/Update your Subscription:
> http://lists.apple.com/mailman/options/cocoa-dev/kenferry%40gmail.com
> 
> This email sent to [email protected]
> 

_______________________________________________

Cocoa-dev mailing list ([email protected])

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to