---
title: UIPickerViewDelegate
framework: uikit
role: symbol
role_heading: Protocol
path: uikit/uipickerviewdelegate
---

# UIPickerViewDelegate

The interface for a picker view’s delegate.

## Declaration

```swift
@MainActor protocol UIPickerViewDelegate : NSObjectProtocol
```

## Overview

Overview The delegate of a UIPickerView object must adopt this protocol and implement at least some of its methods to provide the picker view with the data it needs to construct itself. The delegate implements the required methods of this protocol to return height, width, row title, and the view content for the rows in each component. It must also provide the content for each component’s row, either as a string or a view. Typically the delegate implements other optional methods to respond to new selections or deselections of component rows. See UIPickerView for a discussion of components, rows, row content, and row selection.

## Topics

### Setting the dimensions of the picker view

- [pickerView(_:rowHeightForComponent:)](uikit/uipickerviewdelegate/pickerview(_:rowheightforcomponent:).md)
- [pickerView(_:widthForComponent:)](uikit/uipickerviewdelegate/pickerview(_:widthforcomponent:).md)

### Setting the content of component rows

- [pickerView(_:titleForRow:forComponent:)](uikit/uipickerviewdelegate/pickerview(_:titleforrow:forcomponent:).md)
- [pickerView(_:attributedTitleForRow:forComponent:)](uikit/uipickerviewdelegate/pickerview(_:attributedtitleforrow:forcomponent:).md)
- [pickerView(_:viewForRow:forComponent:reusing:)](uikit/uipickerviewdelegate/pickerview(_:viewforrow:forcomponent:reusing:).md)

### Responding to row selection

- [pickerView(_:didSelectRow:inComponent:)](uikit/uipickerviewdelegate/pickerview(_:didselectrow:incomponent:).md)

## Relationships

### Inherits From

- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

### Inherited By

- [UIPickerViewAccessibilityDelegate](uikit/uipickerviewaccessibilitydelegate.md)

## See Also

### Customizing the picker behavior

- [delegate](uikit/uipickerview/delegate.md)
