---
title: "cellSize(forBounds:)"
framework: appkit
role: symbol
role_heading: Instance Method
path: "appkit/nscell/cellsize(forbounds:)"
---

# cellSize(forBounds:)

Returns the minimum size needed to display the receiver, constraining it to the specified rectangle.

## Declaration

```swift
func cellSize(forBounds rect: NSRect) -> NSSize
```

## Parameters

- `rect`: The size of the cell, or the size of the aRect parameter if the cell is not a text or image cell. If the cell is an image cell but no image has been set, returns NSZeroSize.

## Discussion

Discussion This method takes into account of the size of the image or text within a certain offset determined by the border type of the cell. If the receiver is of text type, the text is resized to fit within aRect (as much as aRect is within the bounds of the cell). To support constraint-based layout, when the content of a custom cell changes in such a way that the return value of this method would change, the cell needs to notify its control of the change by calling the control’s invalidateIntrinsicContentSize(for:) method.

## See Also

### Determining Cell Size

- [calcDrawInfo(_:)](appkit/nscell/calcdrawinfo(_:).md)
- [cellSize](appkit/nscell/cellsize.md)
- [drawingRect(forBounds:)](appkit/nscell/drawingrect(forbounds:).md)
- [imageRect(forBounds:)](appkit/nscell/imagerect(forbounds:).md)
- [titleRect(forBounds:)](appkit/nscell/titlerect(forbounds:).md)
- [controlSize](appkit/nscell/controlsize.md)
