AI-generated Key Takeaways
-
IMAPictureInPictureProxyis a class that proxies delegate messages for Picture-in-Picture functionality. -
You can check if Picture-in-Picture is currently active using the
pictureInPictureActiveproperty. -
You can check if Picture-in-Picture is supported on the device using the
isPictureInPictureSupportedclass method. -
An
IMAPictureInPictureProxyinstance can be initialized to proxy delegates from either anAVPictureInPictureControlleror anAVPlayerViewController.
IMAPictureInPictureProxy
@interface IMAPictureInPictureProxy
: NSProxy <AVPictureInPictureControllerDelegate, AVPlayerViewControllerDelegate>
#else
@interface IMAPictureInPictureProxy : NSObject
#endif
/**
* Whether or not Picture-in-Picture is currently active.
*/
@property(nonatomic, readonly, getter=isPictureInPictureActive) BOOL pictureInPictureActive;
/**
* Whether or not Picture-in-Picture is supported on this device.
*/
+ (BOOL)isPictureInPictureSupported;
/**
* Instantiates an IMAPictureInPictureProxy that will proxy delegate
* messages from an AVPictureInPictureController, and forward them
* to the AVPictureInPictureControllerDelegate passed on init.
*
* @param delegate the AVPictureInPictureControllerDelegate
*
* @return an IMAPictureInPictureProxy instance
*/
- (instancetype)initWithAVPictureInPictureControllerDelegate:
(id<AVPictureInPictureControllerDelegate>)delegate API_AVAILABLE(ios(9.0), tvos(14.0));
/**
* Instantiates an IMAPictureInPictureProxy that will proxy delegate
* messages from an AVPlayerViewController, and forward them to the
* AVPlayerViewControllerDelegate passed on init.
*
* @param delegate the AVPlayerViewControllerDelegate
*
* @return an IMAPictureInPictureProxy instance
*/
- (instancetype)initWithAVPlayerViewControllerDelegate:(id<AVPlayerViewControllerDelegate>)delegate
API_AVAILABLE(ios(9.0), tvos(14.0));
@endUndocumented
-
Whether or not Picture-in-Picture is currently active.
Declaration
Swift
var isPictureInPictureActive: Bool { get }Objective-C
@property (nonatomic, readonly, getter=isPictureInPictureActive) BOOL pictureInPictureActive; -
Whether or not Picture-in-Picture is supported on this device.
Declaration
Swift
class func isPictureInPictureSupported() -> BoolObjective-C
+ (BOOL)isPictureInPictureSupported; -
Instantiates an IMAPictureInPictureProxy that will proxy delegate messages from an AVPictureInPictureController, and forward them to the AVPictureInPictureControllerDelegate passed on init.
Declaration
Swift
init(avPictureInPictureControllerDelegate delegate: any AVPictureInPictureControllerDelegate)Objective-C
- (nonnull instancetype)initWithAVPictureInPictureControllerDelegate: (nonnull id<AVPictureInPictureControllerDelegate>)delegate;Parameters
delegatethe AVPictureInPictureControllerDelegate
Return Value
an IMAPictureInPictureProxy instance
-
Instantiates an IMAPictureInPictureProxy that will proxy delegate messages from an AVPlayerViewController, and forward them to the AVPlayerViewControllerDelegate passed on init.
Declaration
Swift
init(avPlayerViewControllerDelegate delegate: any AVPlayerViewControllerDelegate)Objective-C
- (nonnull instancetype)initWithAVPlayerViewControllerDelegate: (nonnull id<AVPlayerViewControllerDelegate>)delegate;Parameters
delegatethe AVPlayerViewControllerDelegate
Return Value
an IMAPictureInPictureProxy instance