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