0
根據文檔,在AVPictureInPictureController關閉時調用willStop和didStop委託方法以及restoreUserInterfaceForPictureInPictureStopWithCompletionHandler,無論它如何關閉。如何判斷控制器是否被「X」按鈕關閉或者其他按鈕是否恢復正常播放?正在關閉AVPictureInPictureController
根據文檔,在AVPictureInPictureController關閉時調用willStop和didStop委託方法以及restoreUserInterfaceForPictureInPictureStopWithCompletionHandler,無論它如何關閉。如何判斷控制器是否被「X」按鈕關閉或者其他按鈕是否恢復正常播放?正在關閉AVPictureInPictureController
的X按鈕之間的不同和恢復按鈕:
攻上恢復畫中畫按鈕會觸發
"pictureInPictureController(_:restoreUserInterfaceForPictureInPictureStopWithCompl etionHandler:)"
"pictureInPictureControllerWillStopPictureInPicture"
"pictureInPictureControllerDidStopPictureInPicture"
雖然輕敲關閉按鈕會跳過restoreUserInterface回調,直接進入
"pictureInPictureControllerWillStopPictureInPicture"
"pictureInPictureControllerDidStopPictureInPicture"
因此,您可以使用Bool標誌來檢查willStop/DidStop是否調用了restoreUserInterface。
AVPictureInPictureViewController中還有一個pictureInPictureSuspended
屬性,但我試着檢查它的值,發現它總是在這兩種情況下返回false,所以我必須使用上面的技巧來檢查用戶是否點擊恢復或關閉按鈕。