---
title: "playerViewController(_:timeToSeekAfterUserNavigatedFrom:to:)"
framework: avkit
role: symbol
role_heading: Instance Method
path: "avkit/avplayerviewcontrollerdelegate/playerviewcontroller(_:timetoseekafterusernavigatedfrom:to:)"
---

# playerViewController(_:timeToSeekAfterUserNavigatedFrom:to:)

Tells the delegate when the user skips, scrubs, or otherwise navigates to a new time and wants to resume playback at the target time.

## Declaration

```swift
optional func playerViewController(_ playerViewController: AVPlayerViewController, timeToSeekAfterUserNavigatedFrom oldTime: CMTime, to targetTime: CMTime) -> CMTime
```

## Parameters

- `playerViewController`: The player view controller.
- `oldTime`: The current playback time before the user began navigating.
- `targetTime`: The time to which the user navigated.

## Mentioned in

Working with Interstitial Content

## Return Value

Return Value The time at which to begin playback.

## Discussion

Discussion The framework calls this method prior to beginning playback after a user-initiated scrubbing request. You can return a time value other than the specified target time if needed to enforce certain business rules. For instance, you may want to return a different time to prevent users from skipping past ad breaks in your program.

## See Also

### Responding to Navigation Events

- [playerViewController(_:willResumePlaybackAfterUserNavigatedFrom:to:)](avkit/avplayerviewcontrollerdelegate/playerviewcontroller(_:willresumeplaybackafterusernavigatedfrom:to:).md)
- [skipToPreviousItem(for:)](avkit/avplayerviewcontrollerdelegate/skiptopreviousitem(for:).md)
- [skipToNextItem(for:)](avkit/avplayerviewcontrollerdelegate/skiptonextitem(for:).md)
