我正在开发一个iOS应用程序,用户可以在其中一个点上拍照。不过,我希望用户只能使用前置摄像头。也就是说,他们不应该接触到后摄像头。目前,我的代码如下所示:

@IBAction func takePicture(sender: UIButton) {

    if UIImagePickerController.availableCaptureModesForCameraDevice(.Front) != nil {
        let imagePickerController = UIImagePickerController()
        imagePickerController.sourceType = .Camera
        imagePickerController.allowsEditing = false
        imagePickerController.cameraDevice = .Front
        imagePickerController.delegate = self
        presentViewController(imagePickerController, animated: true, completion: nil)
    }
    else {
        let alertVC = UIAlertController(
            title: "No Camera",
            message: "Sorry, this device has no camera",
            preferredStyle: .Alert)
        let okAction = UIAlertAction(
            title: "OK",
            style:.Default,
            handler: nil)
        alertVC.addAction(okAction)
        presentViewController(alertVC,
                              animated: true,
                              completion: nil)
    }
}

尽管默认情况下相机是正面的,但它仍然为用户提供了切换到背面相机的选择。有没有办法限制这个功能?
提前谢谢

最佳答案

如果不想让用户获得UIImagePickerController提供的自由,只需不要使用UIImagePickerController。设计你自己的拍照界面(通过AVFoundation),在那里你可以完全控制。

10-06 13:24