2

私はiPhoneとiPadでZbarを操作しましたが、問題なく正常に動作しますが、iPadの横向きモードでは動作しません。ZBarReaderViewController横向きモードでポップオーバーをiPadに表示すると、下の画像のようにビューが90度シフトします。

風景の中のZbar

バッグがテーブルの上にあり、画像が横向きモードのiPadでキャプチャされている場所。バッグのイメージがずれないようにしたい。

私はすでにsupportedOrientationsMaskとして設定しようとしました

reader.supportedOrientationsMask = ZBarOrientationMask(UIInterfaceOrientationLandscapeLeft || UIInterfaceOrientationLandscapeRight);

しかし、それは正しい方向で表示されていませんが、90度シフトしています。誰かが私がこの問題を解決するのを手伝ってもらえますか?タイムリーなヘルプははるかに高く評価されています。ありがとう。

4

2 に答える 2

3

私はほぼ同じ問題を抱えていましたが、以下のコードを追加することで解決しました。私のアプリは横向きのみをサポートしています:

UIInterfaceOrientation orientation = [UIApplication sharedApplication].statusBarOrientation;
if (UIDeviceOrientationLandscapeLeft == orientation) {
    //Rotate 90
    reader.cameraViewTransform = CGAffineTransformMakeRotation (3*M_PI/2.0);
} else if (UIDeviceOrientationLandscapeRight == orientation) {
    //Rotate 270
    reader.cameraViewTransform = CGAffineTransformMakeRotation (M_PI/2.0);
}
于 2013-03-01T06:34:20.530 に答える
1

このソリューションの問題は、問題の視覚的な部分のみを修正することです。ユーザーには正しい向きが表示されますが、プレビュー画像を変換しているため、ZBarReader には同じ画像が「表示」されます。機能するのはこれです:

[self.readerView willRotateToInterfaceOrientation:[[UIApplication sharedApplication] statusBarOrientation] duration:0];

viewDidLoadZBarReaderView を含む ViewControllerのメソッドで。

于 2013-06-24T20:25:54.920 に答える