使用AVCaptureSession的convertPoint: toLayer:方法来手动转换坐标。
示例代码:
// videoPreviewLayer为AVCaptureVideoPreviewLayer对象
// captureDevice为AVCaptureDevice对象
CGPoint pointInDeviceCoordinates = CGPointMake(100, 100);
CGPoint pointInLayerCoordinates = [videoPreviewLayer captureDevicePointOfInterestForPoint:pointInDeviceCoordinates];
CGPoint pointInViewCoordinates = [videoPreviewLayer convertPoint:pointInLayerCoordinates toLayer:self.view.layer];
其中,pointInDeviceCoordinates为采集设备的坐标,pointInLayerCoordinates为AVCaptureVideoPreviewLayer中的坐标,pointInViewCoordinates为在UIView中的坐标。