Re: NSSegmentedControl's sizing behaviour
Re: NSSegmentedControl's sizing behaviour
- Subject: Re: NSSegmentedControl's sizing behaviour
- From: Ken Thomases <email@hidden>
- Date: Mon, 09 Nov 2015 22:35:52 -0600
- X_v_e_cd: 94eb776ca50cf49716dc97cdbea2caa8
- X_v_r_cd: 97724edf8dfc29013587ccca57948606
On Nov 9, 2015, at 9:36 PM, Graham Cox <email@hidden> 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 (email@hidden)
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:
This email sent to email@hidden