模仿iOS 6相机旋转

def*_*fer 10 objective-c ios avcam

我一直在使用AVFoundation对自定义相机进行一些实验,到目前为止一切都很棒.AVCam的例子让我走得很远,我对结果非常满意.

但是,我仍然没有得到的一件事是iOS默认的Camera应用程序如何处理旋转.看起来背景根本不会旋转,但所有叠加控件都会旋转.

这可能不是特定于摄像机的问题,但我怎么能实现这种行为?

TLDR:有一个背景相机层,控件在顶部,如何在不旋转背景层的情况下旋转控件?

Vin*_*zzz 1

我也一直在想同样的问题...

我的猜测是本机相机视图控制器不会使用UIViewController旋转机制进行旋转

  • 状态栏不旋转
  • 子视图没有“基本”旋转 - 工具栏不移动,按钮是动画的
  • 当然,包含相机预览的视图不会旋转:)

相反,它必须调用[UIDevice beginGeneratingDeviceOrientationNotifications]并处理特定的 UI 更新(灰色按钮淡出位置切换和工具栏按钮图像旋转)

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(yourUpdateMethodForRotation:) notificationName: UIDeviceOrientationDidChangeNotification];
Run Code Online (Sandbox Code Playgroud)