How to customize disclosure cell in view-based NSOutlineView

Solution 1: Subclass NSOutlineView and override makeViewWithIdentifier:owner: – (id)makeViewWithIdentifier:(NSString *)identifier owner:(id)owner { id view = [super makeViewWithIdentifier:identifier owner:owner]; if ([identifier isEqualToString:NSOutlineViewDisclosureButtonKey]) { // Do your customization } return view; } For Source Lists use NSOutlineViewShowHideButtonKey. Solution 2: Interface Builder The button is added to the column and the identifier set to NSOutlineViewDisclosureButtonKey. Official documentation from … Read more