在 4:3 中调用 UIImagePickerController 而不是 16:9 (Xcode) (Swift)

Calling UIImagePickerController in 4:3 instead of 16:9 (Xcode) (Swift)

我正在通过 UIImagePickerController 和 iPhone 6s / 6s Plus 录制视频,它在录制时以 16:9 显示(我想是通过裁剪模拟的)但是当视频 returns 和布局,它 4:3 显示视频的左右超出取景器的部分。

如何让 UIImagePickerController 在相机模式下显示为真正的 4:3 模式,而不是默认的假 16:9 模式?

我目前是这样称呼它的:

// IB: Record Button Control
@IBAction func recordVideo(_ sender: UIButton) {

    if (UIImagePickerController.isSourceTypeAvailable(.camera)) {

        self.selectedButton = sender

        self.imagePicker.sourceType = .camera
        self.imagePicker.mediaTypes = [kUTTypeMovie as String]
        self.imagePicker.allowsEditing = false
        self.imagePicker.videoMaximumDuration = 30.0
        self.imagePicker.delegate = self

        self.present(self.imagePicker, animated: true, completion: {})

    } else {
        CreateAlert(controller: self, title: "No Camera", message: "Camera is not accessible")
    }

}

想通了这一点。对于任何寻找答案的人来说,如果您不指定 videoQuality.

,它会默认执行此操作

只要您输入 videoQuality 枚举,它就会 returns 以正确的方式输入。所以我添加了:self.imagePicker.videoQuality = .typeMedium,它返回了视频16:9。

有关 Apple 文档 的不同视频质量类型:

UIImagePickerControllerQualityType