在缩放的CGRect iOS上显示UIView

在缩放的CGRect iOS上显示UIView,ios,uiview,cgrect,avmetadataitem,Ios,Uiview,Cgrect,Avmetadataitem,我正在使用AVMetaData API提取AVMetadataFaceObject的边界。当打印到控制台时,此CGRect具有以下值:bounds={0.2,0.3 0.4x0.5}。我很难将其映射到显示在脸上的UIView。我可以为我的特定屏幕硬编码一些转换值,使其粗略地位于正确的位置,但我想要一个解决方案,在任何屏幕大小的预览视图中显示的面上显示UIView 有人知道如何根据预览视图的大小将这些映射到屏幕UIView的框架吗?您应该能够获取捕获区域的大小,我们称之为captureSize,然

我正在使用AVMetaData API提取AVMetadataFaceObject的边界。当打印到控制台时,此CGRect具有以下值:bounds={0.2,0.3 0.4x0.5}。我很难将其映射到显示在脸上的UIView。我可以为我的特定屏幕硬编码一些转换值,使其粗略地位于正确的位置,但我想要一个解决方案,在任何屏幕大小的预览视图中显示的面上显示UIView


有人知道如何根据预览视图的大小将这些映射到屏幕UIView的框架吗?

您应该能够获取捕获区域的大小,我们称之为captureSize,然后执行以下操作:

CGRect viewRect;
viewRect.origin.x = bounds.origin.x * captureSize.width;
viewRect.origin.y = bounds.origin.y * captureSize.height;
viewRect.size.width = bounds.size.width * captureSize.width;
viewRect.size.height = bounds.size.height * captureSize.height;
现在,这完全取决于previewView的设置方式以及它是否具有任何内容缩放等,但应该给您一种转换的感觉