JWFullScreenExitReason
@objc
public enum JWFullScreenExitReason : Int
extension JWFullScreenExitReason: CustomStringConvertible
Constants indicating the reason fullscreen mode was exited, delivered through the optional
JWPlayerViewControllerFullScreenDelegate dismiss callbacks.
The full set of constants is shared with the Android SDK so both platforms describe the same
situations with the same values. The player does not currently exit fullscreen in every one of
those situations, so some constants are reserved and are never reported today; each is marked
below. Treat any unhandled value as equivalent to .unknown rather than switching exhaustively,
so a reserved reason becoming live is not a breaking change.
Raw values are explicit and appended-only so the integers visible to Objective-C stay stable across releases.
-
The cause could not be determined.
Declaration
Swift
case unknown = 0 -
Fullscreen exited when the user tapped the dedicated dismiss button: the ‘x’ in the upper-left corner of the backdrop, or the equivalent button in the related/gallery overlay top bar. This button only ever leaves fullscreen — it is not a toggle.
Declaration
Swift
case userTappedDismissButton = 1 -
Fullscreen exited when the user tapped the fullscreen toggle button: the shrink icon in the VoD, Live, error and ad control bars, or the backdrop’s fullscreen button. The same control enters fullscreen when the player is windowed.
Declaration
Swift
case userTappedToggleButton = 2 -
Reserved. Fullscreen presentation has no interactive swipe dismissal, so this is never reported.
Declaration
Swift
case userSwipedDown = 3 -
Reserved. Device rotation does not itself dismiss fullscreen, so this is never reported.
Declaration
Swift
case orientationChange = 4 -
Reserved. Backgrounding the app does not dismiss fullscreen, so this is never reported.
Declaration
Swift
case appBackgrounded = 5 -
Reserved. Entering Picture in Picture does not dismiss fullscreen, so this is never reported.
Declaration
Swift
case pictureInPictureInitiated = 6 -
Reserved. Completing playback does not dismiss fullscreen, so this is never reported.
Declaration
Swift
case contentComplete = 7 -
Reserved. The end of an ad break does not dismiss fullscreen, so this is never reported.
Declaration
Swift
case adBreakEnd = 8 -
Reserved. A playback error does not dismiss fullscreen, so this is never reported.
Declaration
Swift
case playbackError = 9 -
Fullscreen exited because of a call to
dismissFullScreen(animated:completion:), i.e. the request came from outside the player UI.Declaration
Swift
case external = 10 -
Declaration
Swift
public var description: String { get }