<!--
{
  "availability" : [
    "iOS: 7.0.0 -",
    "iPadOS: 7.0.0 -",
    "macCatalyst: 13.1.0 -",
    "tvOS: 9.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "UIKit",
  "identifier" : "/documentation/UIKit/UITableViewDelegate/tableView(_:estimatedHeightForRowAt:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "UIKit"
    ],
    "preciseIdentifier" : "c:objc(pl)UITableViewDelegate(im)tableView:estimatedHeightForRowAtIndexPath:"
  },
  "title" : "tableView(_:estimatedHeightForRowAt:)"
}
-->

# tableView(_:estimatedHeightForRowAt:)

Asks the delegate for the estimated height of a row in a specified location.

```
optional func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat
```

## Parameters

`tableView`

The table view requesting this information.

`indexPath`

An index path that locates a row in `tableView`.

## Return Value

A nonnegative floating-point value that estimates the height (in points) that `row` should be. Return [`automaticDimension`](/documentation/UIKit/UITableView/automaticDimension) if you have no estimate.

## Discussion

Providing an estimate the height of rows can improve the user experience when loading the table view. If the table contains variable height rows, it might be expensive to calculate all their heights and so lead to a longer load time. Using estimation allows you to defer some of the cost of geometry calculation from load time to scrolling time.

## See Also

[`tableView(_:heightForRowAt:)`](/documentation/UIKit/UITableViewDelegate/tableView(_:heightForRowAt:))

Asks the delegate for the height to use for a row in a specified location.



---

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)