1

我为实时屏幕相机视图创建了一个自定义相机叠加层,并为相机、闪光灯和翻转按钮导入了我自己的自定义图标。在纵向模式下一切看起来都很好,但是当我将实时相机屏幕切换到横向模式时,相机的方向保持在纵向模式并在控制台中显示,

“错误:CGAffineTransformInvert:奇异矩阵”

我尝试使用自动调整大小掩码,还尝试在didRotateFromInterfaceOrientation方法中为纵向和横向模式下的图标设置两个不同的框架。但这些都不起作用。

我的问题是,横向方向是否只支持默认的 iPhone 相机覆盖视图,或者它是否也支持自定义覆盖视图。

以下是显示从纵向模式切换到横向模式时图标相互重新定位的行为的屏幕截图。我想在我的自定义叠加视图中完全一样。

编辑:

我已经使用UIDevice Orientation方法更改了自定义相机叠加层的实时屏幕。但是现在,当我尝试从纵向模式切换到横向模式时,框架没有调整大小。所以,我只想让整个框架在横向模式下调整大小。此外,在这段代码中,如果我尝试更改CAMERA_TRANSFORM_Y的值,

#define CAMERA_TRANSFORM_X 1
#define CAMERA_TRANSFORM_Y 1.234

  self.picker.cameraViewTransform = CGAffineTransformScale(self.picker.cameraViewTransform, CAMERA_TRANSFORM_X, CAMERA_TRANSFORM_Y);

覆盖视图的大小从顶部和底部边距都减小了。但是,从底部比从上边距减小的尺寸更多。我希望覆盖大小从顶部和底部边距均匀变化。

这是我的示例代码,

示例项目

横向模式

肖像模式

4

0 回答 0