On Aug 26, 2015, at 7:04 AM, Jacek Oleksy <jole...@opera.com> wrote:

> I want to set NSSegmentStyleSeparated on my NSSegmentedControl
> (managed by autolayout). However, when I create constraints for the
> parent view, I get an exception:
> 
> Assertion failure in -[NSSegmentedControl ns_widgetType],
> /SourceCache/AppKit/AppKit-1348.17/Layout.subproj/NSUserInterfaceTheme.m:398
> 
> An uncaught exception was raised
> What kind of segmented control are we!
> 
> Example code:
> 
> (in WindowController)
> - (void)windowDidLoad {
>    [super windowDidLoad];
>    NSSegmentedControl* segmentedControl = [[NSSegmentedControl alloc] init];
>    [segmentedControl setSegmentCount:2];
>    [segmentedControl setTranslatesAutoresizingMaskIntoConstraints:NO];
>    segmentedControl.segmentStyle = NSSegmentStyleSeparated;
>    [self.window.contentView addSubview:segmentedControl];
>    NSString* constraint = @"|-[segmentedControl]-|";
>    NSDictionary* views = NSDictionaryOfVariableBindings(segmentedControl);
>    NSArray* constraints = [NSLayoutConstraint
>                            constraintsWithVisualFormat:constraint
>                            options:NSLayoutFormatDirectionLeadingToTrailing
>                            metrics:nil
>                            views:views];
>    [self.window.contentView addConstraints:constraints];
> }
> 
> The exception is raised in "addConstraints:".
> Everything is fine if I do not change segmentStyle. It also works fine
> if I change segment style *after* adding constraints, but then I get
> the exception e.g. when dragging window to external display.
> 
> Any ideas?

This is a shot in the dark, but: does it help to initialize with 
-initWithFrame: instead of -init?  (You can pass NSZeroRect.)

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