---
title: UIScrollViewDelegate
framework: uikit
role: symbol
role_heading: Protocol
path: uikit/uiscrollviewdelegate
---

# UIScrollViewDelegate

The interface for the delegate of a scroll view.

## Declaration

```swift
@MainActor protocol UIScrollViewDelegate : NSObjectProtocol
```

## Overview

Overview The methods that the UIScrollViewDelegate protocol declares allow the adopting delegate to respond to messages from the UIScrollView class. The delegate responds to and affects operations like scrolling, zooming, deceleration of scrolled content, and scrolling animations.

## Topics

### Responding to scrolling and dragging

- [scrollViewDidScroll(_:)](uikit/uiscrollviewdelegate/scrollviewdidscroll(_:).md)
- [scrollViewWillBeginDragging(_:)](uikit/uiscrollviewdelegate/scrollviewwillbegindragging(_:).md)
- [scrollViewWillEndDragging(_:withVelocity:targetContentOffset:)](uikit/uiscrollviewdelegate/scrollviewwillenddragging(_:withvelocity:targetcontentoffset:).md)
- [scrollViewDidEndDragging(_:willDecelerate:)](uikit/uiscrollviewdelegate/scrollviewdidenddragging(_:willdecelerate:).md)
- [scrollViewShouldScrollToTop(_:)](uikit/uiscrollviewdelegate/scrollviewshouldscrolltotop(_:).md)
- [scrollViewDidScrollToTop(_:)](uikit/uiscrollviewdelegate/scrollviewdidscrolltotop(_:).md)
- [scrollViewWillBeginDecelerating(_:)](uikit/uiscrollviewdelegate/scrollviewwillbegindecelerating(_:).md)
- [scrollViewDidEndDecelerating(_:)](uikit/uiscrollviewdelegate/scrollviewdidenddecelerating(_:).md)

### Managing zooming

- [viewForZooming(in:)](uikit/uiscrollviewdelegate/viewforzooming(in:).md)
- [scrollViewWillBeginZooming(_:with:)](uikit/uiscrollviewdelegate/scrollviewwillbeginzooming(_:with:).md)
- [scrollViewDidEndZooming(_:with:atScale:)](uikit/uiscrollviewdelegate/scrollviewdidendzooming(_:with:atscale:).md)
- [scrollViewDidZoom(_:)](uikit/uiscrollviewdelegate/scrollviewdidzoom(_:).md)

### Responding to scrolling animations

- [scrollViewDidEndScrollingAnimation(_:)](uikit/uiscrollviewdelegate/scrollviewdidendscrollinganimation(_:).md)

### Responding to inset changes

- [scrollViewDidChangeAdjustedContentInset(_:)](uikit/uiscrollviewdelegate/scrollviewdidchangeadjustedcontentinset(_:).md)

## Relationships

### Inherits From

- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

### Inherited By

- [UICollectionViewDelegate](uikit/uicollectionviewdelegate.md)
- [UICollectionViewDelegateFlowLayout](uikit/uicollectionviewdelegateflowlayout.md)
- [UIScrollViewAccessibilityDelegate](uikit/uiscrollviewaccessibilitydelegate.md)
- [UITableViewDelegate](uikit/uitableviewdelegate.md)
- [UITextViewDelegate](uikit/uitextviewdelegate.md)

### Conforming Types

- [UICollectionViewController](uikit/uicollectionviewcontroller.md)
- [UITableViewController](uikit/uitableviewcontroller.md)
- [UIWebView](uikit/uiwebview.md)

## See Also

### Responding to scroll view interactions

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