2016-02-22 47 views
0

我想让我的应用程序为我的主控制器显示摄像机。到目前为止,我已经能够使用扩展UIViewController的控制器,然后通过代码实例化UIImagePickerController。现在我想看看是否有避免创建UIViewController的方法,而是直接创建UIImagePickerController。UIImagePickerController在故事板?

到目前为止,我曾尝试:

class VideoRecorderViewController: UIImagePickerController { 

    override func viewDidLoad() { 
     super.viewDidLoad() 


     self.sourceType = .Camera 
     self.cameraCaptureMode = .Video 
     self.mediaTypes = [kUTTypeMovie as NSString as String] 
     self.allowsEditing = false 
     self.delegate = delegate 
     self.showsCameraControls = false 
    } 

    ... 
} 

我现在得到 'NSInvalidArgumentException' 的,理由是:“cameraCaptureMode 1不可用,因为mediaTypes确实包含public.movi​​e

有谁有例子的正确方法这样做?

回答

0

首先,确保您已导入MobileCoreServices框架以使您的视频捕捉工作。

import MobileCoreServices 

而只需替换下面一行代码的:

self.mediaTypes = [kUTTypeMovie] 

希望这有助于!

+0

谢谢,虽然这并没有像介绍的那样工作。原来这是一个序列问题。把'self.mediaTypes'首先解决了这个问题,在swift2中它似乎是[kUTTypeMovie as String] –

+0

顺便提一下,建议不要扩展UIImagePickerCobtroller,因为它不是扩展的。 –