2016-04-13 24 views
0

根據文檔,在AVPictureInPictureController關閉時調用willStop和didStop委託方法以及restoreUserInterfaceForPictureInPictureStopWithCompletionHandler,無論它如何關閉。如何判斷控制器是否被「X」按鈕關閉或者其他按鈕是否恢復正常播放?正在關閉AVPictureInPictureController

回答

1

的X按鈕之間的不同和恢復按鈕:

攻上恢復畫中畫按鈕會觸發

"pictureInPictureController(_:restoreUserInterfaceForPictureInPictureStopWithCompl etionHandler:)" 
"pictureInPictureControllerWillStopPictureInPicture" 
"pictureInPictureControllerDidStopPictureInPicture" 

雖然輕敲關閉按鈕會跳過restoreUserInterface回調,直接進入

"pictureInPictureControllerWillStopPictureInPicture" 
"pictureInPictureControllerDidStopPictureInPicture" 

因此,您可以使用Bool標誌來檢查willStop/DidStop是否調用了restoreUserInterface。

AVPictureInPictureViewController中還有一個pictureInPictureSuspended屬性,但我試着檢查它的值,發現它總是在這兩種情況下返回false,所以我必須使用上面的技巧來檢查用戶是否點擊恢復或關閉按鈕。