On Nov 9, 2015, at 9:36 PM, Graham Cox <graham....@bigpond.com> wrote:
> 
> I’m struggling to get the behaviour I want from NSSegmentedControl.
> 
> I want each segment to have the same width, which is the overall width of the 
> control divided into equal parts. When the overall control is resized, the 
> segment sizes should change, but remain equal to each other and fill the 
> available width.
> 
> Currently, I can either set the segments to have ‘automatic’ width, which 
> sets them to be just enough to fit their icon, or ‘fixed’ width which is 
> maintained, but in both cases the control size remains fixed and never 
> visually resizes with the enclosing view. Unless the enclosing view is just 
> right, the control is either too narrow, or too wide and clipped off. I have 
> no idea in what universe this behaviour is supposed to be useful.
> 
> Is there a way to set it up so it works how I want?

I don't believe so, no.  I'd suggest that you create a custom subclass of 
NSSegmentedControl.  Override -setFrameSize: and have it set the sizes of the 
segments.  I'd compare the current frame width to the sum of the segment 
widths.  I expect there will be a constant extra amount for the border, etc.  
So, subtract that constant value from the new frame width, divide by 3, and use 
that for the new width of the segments.

Regards,
Ken


_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to