我有使用 AVFoundation 实现的自定义相机的缩放功能(1 倍以上)。在 iPhone X 机型之前这一切都很好。但我希望 iPhone 11 和 iPhone 11 Pro 设备具有 0.5 倍变焦。
我编写的代码无法将其设置为 0.5 倍缩放。我已经尝试了所有可能的组合[.builtInTripleCamera, .builtInDualWideCamera, .builtInUltraWideCamera]。具有设备类型的捕获设备.builtinUltraWideCamera未给出 0.5 minAvailableVideoZoomFactor。
在 iPhone 11 上进行测试时,我还[.builtInDualCamera, .builtInTelephotoCamera, .builtInWideAngleCamera, .builtInTrueDepthCamera]从deviceTypes.
感谢任何解决此问题的帮助。下面是适用于 1 倍变焦以上的代码。
/// Called from -handlePinchGesture
private func zoom(_ scale: CGFloat) {
let captureDevice = cameraDevice(.back)
do {
try captureDevice?.lockForConfiguration()
var minZoomFactor: CGFloat = captureDevice?.minAvailableVideoZoomFactor ?? 1.0
let maxZoomFactor: CGFloat = captureDevice?.maxAvailableVideoZoomFactor ?? 1.0
if #available(iOS 13.0, *) {
if …Run Code Online (Sandbox Code Playgroud) 我添加了一种使滚动视图滚动到其顶部的方法。这在iOS10中按预期工作。但是,当我使用Xcode 9升级到iOS11时,它无法正常工作。是否有iOS11缺少的任何内容。
下面的代码正在工作:
[self setContentOffset:CGPointZero animated:YES];
Run Code Online (Sandbox Code Playgroud)