2012-03-13 20 views
0

問題があります。私は私のiPadアプリケーションのためにzxingライブラリを使いました。それはqrコードを読み取るために正常に動作します。ランドスケープモードのzxingリーダー

しかし、その横長モードのリーダーは、ライブフィードをカメラから90度右に回転させます。私は回転がないポートレートモードのように、回転なしにしたい。 、ビデオフィードを回転させないポートレートモードで

;見 in portrait mode , the video feed is not rotated;have a look

を持っている。しかしLandscapemodeleftで、ビデオフィードを回転させ、 enter image description here

+0

変換あなたはYESを返すことによってshouldRotateToInterfaceOrientationメソッドを実装しているあなたは、次のローテーションを使用してportrait, upsideDown, landscapeRight, landscapeLeft0, M_PI, -M_PI/2, M_PI/2で再びそれを回転させる必要があります。固定位置にこの層を維持するには? – Ravin

+0

はい、私はそれにYESを割り当てました。読者はランドスケープで起動しますが、ライブフィードも90度回転します。それはライブフィードを90度回転させるべきではないという問題です。つまり、水平。 –

答えて

8

Zxing再び顔をしているライブラリがにAVFoundationフレームワークを使用していますライブカメラレイヤを表示します。このレイヤー(prevLayer)は、initCaptureメソッドのZXingWidgetControllerのビューレイヤーに追加されています。したがって、カメラを回転させるたびにこのレイヤーも回転します。

CATransform3D transform = CATransform3DMakeRotation(angle, 0, 0, 1.0); 
self.prevLayer.transform =transform; 
self.prevLayer.frame = frame; // you may need to set it also if needed. 

+0

CATransform3D transform = CATransform3DMakeRotation(190.7、0、0、1.0); self.prevLayer.transform = transform;ありがとう! –

+0

ありがとうございました!!!それは働いている。 –

+0

おかげで、不正確さを避けるため、M_PI/2ではなくM_PI_2を使用してください。とにかく良いanwer! – dulgan

関連する問題