我有一个自定义的照片/视频相机(类比 Snapchat),其中包含捏合手势识别器来进行放大/缩小操作。以下是网上找到的代码所能正常运行的部分:
- 可以适当地进行放大
- 捕捉图像可以捕捉到已经放大的图像
- 缩小导致崩溃
- 尽管放大功能有效,但如果我先放大再停止触摸屏幕,然后再次尝试放大时,它似乎会重置放大状态。
- 捕捉视频会重置放大状态
for input in self.captureSession.inputs {
// check that the input is a camera and not the audio
if input.device == self.frontCameraDevice || input.device == self.backCameraDevice {
if pinch.state == UIGestureRecognizerState.Changed {
let device: AVCaptureDevice = input.device
let vZoomFactor = pinch.scale
do{
try device.lockForConfiguration()
if vZoomFactor <= device.activeFormat.videoMaxZoomFactor {
device.videoZoomFactor = vZoomFactor
device.unlockForConfiguration()
}
}catch _{
}
}
}
}