1

我正在开发一个仅限横向的iPad 应用程序,并尝试将Zxing QR Code Scanner 库集成到项目中。我能够成功集成库,并且运行时没有任何编译器错误。

问题

  1. 即使我的应用程序是横向的,Zxing 相机视图也显示为纵向。
  2. 我无法使用库进行扫描。我不知道以不同方向显示的相机图层是否是它的原因。

我的项目设置

  1. 仅限 iPad 横向应用程序
  2. 目标 SDK:iOS 6.1
  3. 部署目标:iOS 6.0 或以上
  4. zxing 版本:2.1
  5. 测试:iPad 2,iOS 6.1

我的代码

好吧,代码很简单,我只是ZxingWidgetController从我的调用HomeViewController并实现了委托方法.. 代表永远不会被解雇。

HomeViewController.h

@interface HomeViewController : UIViewController<ZXingDelegate>{
}
@end

主视图控制器.m

-(void) openCameraScanner{
    ZXingWidgetController *ctrller       =   [[ZXingWidgetController alloc] 
                              initWithDelegate:self showCancel:YES OneDMode:NO];
    ctrller.delegate                     = self;
    [self presentViewController:ctrller animated:YES completion:nil];
}


- (void)zxingController:(ZXingWidgetController *)controller 
                             didScanResult:(NSString *)reslt{
    [self showDismissiveAlertWithMessage:[NSString 
                     stringWithFormat:@"qr code read is : %@ ", reslt]];
}

- (void)zxingControllerDidCancel:(ZXingWidgetController *)controller{
    [self showDismissiveAlertWithMessage:@"Failed to read qr code"];
}

好吧,如果我的问题不够清楚,这是我的横向应用程序的缩小版本,带有一个看起来像 Zxing 的肖像。

在此处输入图像描述

4

2 回答 2

1

该小部件从未真正为旋转而设计,我不太确定它的作用。由于旋转,zxing 可能会从 AVFF 获得失真/严重裁剪的图像流。在处理 AVFF 时,处理所有不同的方向是相当容易出错的。

在 objc 目录中还有另一个用于 iOS/OS X 的 zxing 接口。它的级别要低得多(CALayer 级别)。这使得集成它更多的工作,但也使得处理旋转(更多)可行。它对旋转没有任何魔力:您仍然必须自己放置和转换图层,这从根本上来说有些棘手。

于 2013-03-30T13:39:13.740 回答
-1

当 viewDidAppear 时在 ZXingWidgetController.m 中试试这个

float iDegree = 90.0f;
  CATransform3D transform =  CATransform3DMakeRotation(iDegree, 0, 0, 1.0);
    self.prevLayer.transform =transform;
    self.prevLayer.frame = CGRectMake(0.0, 0.0, 1024, 768); 
于 2013-05-04T04:12:22.613 回答