<!--
{
  "availability" : [
    "macOS: 10.12.2 -"
  ],
  "documentType" : "symbol",
  "framework" : "AppKit",
  "identifier" : "/documentation/AppKit/NSScrubberFlowLayout",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "AppKit"
    ],
    "preciseIdentifier" : "c:objc(cs)NSScrubberFlowLayout"
  },
  "title" : "NSScrubberFlowLayout"
}
-->

# NSScrubberFlowLayout

A concrete layout object that arranges items end-to-end in a linear strip.

```
class NSScrubberFlowLayout
```

## Overview

To set the size of items on a per-item basis, ensure that your scrubber delegate conforms to the [`NSScrubberFlowLayoutDelegate`](/documentation/AppKit/NSScrubberFlowLayoutDelegate) protocol, and provides an implementation of the [`scrubber(_:layout:sizeForItemAt:)`](/documentation/AppKit/NSScrubberFlowLayoutDelegate/scrubber(_:layout:sizeForItemAt:)) method.

## Topics

### Configuring the layout

[`itemSpacing`](/documentation/AppKit/NSScrubberFlowLayout/itemSpacing)

The horizontal spacing between items, specified in points.

[`itemSize`](/documentation/AppKit/NSScrubberFlowLayout/itemSize)

The frame size for each item in the scrubber.

### Invalidating the layout

[`invalidateLayoutForItems(at:)`](/documentation/AppKit/NSScrubberFlowLayout/invalidateLayoutForItems(at:))

Informs the scrubber that it should perform a new layout pass for the items at the specified indexes.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)