In my NSSegmentedControl category, I have a method to solve this problem:
@interface NSSegmentedControl (BorkwareAdditions) - (void) unselectAllSegments; // ... other goodies @end // NSSegmentedControl - (void) unselectAllSegments { NSSegmentSwitchTracking current; current = [self trackingMode]; [self setTrackingMode: NSSegmentSwitchTrackingMomentary]; int i; for (i = 0; i < [self segmentCount]; i++) { [self setSelected: NO forSegment: i]; } [self setTrackingMode: current]; } // unselectAllSegments