1.先看一下圖層
下:VC.view
中:containerView
上:playerView(button為subview,用於觸發旋轉操作)
2.真相探究
核心1. rect轉換--- [superView convertRect:superView.bounds toView:self.fullScreenContainerView];
核心2. view旋轉---CGAffineTransformMakeRotation(M_PI_2)
核心3. containerView---豎屏時充當父視圖(rect轉換目標)
核心4. superview---橫屏時充當父視圖
核心5. 針對ios8 的旋轉適配
核心6. 狀態欄的隱藏於展示
3.demo模擬功能分解
添加測試view及旋轉控制器初始化
旋轉方法觸發
狀態欄與旋轉控制
視頻view旋轉后如何重新布局 ( layoutSubviews)
旋轉成功要主動觸發所有需要重新布局的子視圖的layout方法
demo地址:https://github.com/MadahaCEO/AVPlayerOrientationSwitcher