ライブ スクリーン カメラ ビュー用のカスタム カメラ オーバーレイを作成し、カメラ、フラッシュ、およびフリップ ボタン用に独自のカスタム アイコンをインポートしました。ポートレート モードではすべてがきれいに見えますが、ライブ カメラ画面をランドスケープ モードに切り替えると、カメラの向きがポートレート モードのままになり、コンソールにこれが表示されます。
「エラー: CGAffineTransformInvert: 特異行列」
自動サイズ変更マスクを使用してみました。また、 didRotateFromInterfaceOrientationメソッドで縦向きと横向きの両方のモードでアイコンに 2 つの異なるフレームを設定しようとしました。しかし、これらのどれも機能していません。
私の質問は、横向きはデフォルトの 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);
オーバーレイ ビューのサイズは、上マージンと下マージンの両方から縮小されます。ただし、上マージンよりも下の方がサイズが小さくなります。オーバーレイのサイズを上マージンと下マージンの両方で均一に変更したい。
これは私のサンプルコードです。