Thanks Ken, that works fine. Eyebrows a little bit raised that this is needed, but then segmented controls are horrible to deal with in any case.
—Graham > On 10 Nov 2015, at 3:35 PM, Ken Thomases <k...@codeweavers.com> wrote: > > 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