---
title: SFSafariViewControllerDelegate
framework: safariservices
role: symbol
role_heading: Protocol
path: safariservices/sfsafariviewcontrollerdelegate
---

# SFSafariViewControllerDelegate

A protocol used to implement custom event handling for a Safari view controller.

## Declaration

```swift
protocol SFSafariViewControllerDelegate : NSObjectProtocol
```

## Overview

Overview For more information about the SFSafariViewController class, see SFSafariViewController.

## Topics

### Working with the View Controller

- [safariViewController(_:didCompleteInitialLoad:)](safariservices/sfsafariviewcontrollerdelegate/safariviewcontroller(_:didcompleteinitialload:).md)
- [safariViewController(_:activityItemsFor:title:)](safariservices/sfsafariviewcontrollerdelegate/safariviewcontroller(_:activityitemsfor:title:).md)
- [safariViewControllerDidFinish(_:)](safariservices/sfsafariviewcontrollerdelegate/safariviewcontrollerdidfinish(_:).md)
- [safariViewController(_:excludedActivityTypesFor:title:)](safariservices/sfsafariviewcontrollerdelegate/safariviewcontroller(_:excludedactivitytypesfor:title:).md)

### Instance Methods

- [safariViewController(_:initialLoadDidRedirectTo:)](safariservices/sfsafariviewcontrollerdelegate/safariviewcontroller(_:initialloaddidredirectto:).md)
- [safariViewControllerWillOpenInBrowser(_:)](safariservices/sfsafariviewcontrollerdelegate/safariviewcontrollerwillopeninbrowser(_:).md)

## Relationships

### Inherits From

- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Responding to View Controller Interaction

- [delegate](safariservices/sfsafariviewcontroller/delegate.md)
