3

在我对锁定 AVCaptureVideoPreviewLayer 旋转的无尽追求中(就像在 camera.app 中一样),我决定尝试 VC 遏制。

我的想法是,如果我将 AVCaptureVideoPreviewLayer 代码放入单独的 VC 并禁用它的旋转,我应该能够将锁定的“视图”作为我的背景层(增强现实应用程序)。

但是当我尝试这样做时, AVCaptureVideoPreviewLayer 根本无法工作,我没有得到任何相机视频。

下面是我的设置。

ViewController.m中:

    @property (nonatomic, strong, readwrite) cameraViewController *cameraVC;

-(void) viewDidAppear:(BOOL)animated
{
        self.cameraVC = [self.storyboard instantiateViewControllerWithIdentifier:@"cameraVC"];

        [self addChildViewController:self.cameraVC];

        [self.view addSubview:self.cameraVC.view];

cameraViewController.m中:

-(void) viewDidAppear:(BOOL)animated
{
    NSLog(@"cameraViewController : viewDidAppear");

     self.captureManager = [[CaptureSessionManager alloc] init];
     [self.captureManager addVideoInput];
     [self.captureManager addVideoPreviewLayer];

     CGRect layerRect = self.cameraView.bounds;
     [[self.captureManager previewLayer] setBounds:layerRect];
     [[self.captureManager previewLayer] setPosition:CGPointMake(CGRectGetMidX(layerRect), CGRectGetMidY(layerRect))];

     [self.cameraView.layer addSublayer:self.captureManager.previewLayer];

     [[self.captureManager captureSession] startRunning];

}

但是当我将cameraViewController.m设置为在我的故事板中首先自动加载的根控制器时,相机视频 (AVCaptureVideoPreviewLayer) 工作正常。(减去旋转烦恼)

为什么它可以作为根 VC 而不是子 VC?

[我正在使用 XCode 4.5、iOS 6.0 和故事板。]

4

0 回答 0