AI-generated Key Takeaways
-
IMAPictureInPictureProxy
is a class that proxies delegate messages for Picture-in-Picture functionality. -
You can check if Picture-in-Picture is currently active using the
pictureInPictureActive
property. -
You can determine if Picture-in-Picture is supported on the current device with the
isPictureInPictureSupported
class method. -
Instances of
IMAPictureInPictureProxy
can be initialized to proxy delegates from either anAVPictureInPictureController
or 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));
@end
Undocumented
-
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() -> Bool
Objective-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
delegate
the 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
delegate
the AVPlayerViewControllerDelegate
Return Value
an IMAPictureInPictureProxy instance