将ZBar相机嵌入UIView中

时间:2012-12-13 08:43:56

标签: objective-c ios uiview camera zbar-sdk

我正在使用ZBarSDK使用iPad扫描QR码。我目前成功地工作了。但是,我目前的代码在全屏模态视图控制器中打开相机,但我想将相机视图嵌入到UIView中。

这是我现在的代码,它可以作为模态视图控制器使用。但我想在我创建的名为“showCamera”的UIView中显示相机。我搜索了网络和这些论坛,并且有一些类似的问题,但没有在答案中提供代码。

ZBarReaderViewController *reader = [ZBarReaderViewController new];
reader.readerDelegate = self;
reader.showsZBarControls = TRUE;
reader.cameraDevice=UIImagePickerControllerCameraDeviceFront;

reader.readerView.torchMode = 0;

ZBarImageScanner *scanner = reader.scanner;
[scanner setSymbology: ZBAR_I25
               config: ZBAR_CFG_ENABLE
                   to: 0];

// present and release the controller
[self presentModalViewController: reader animated: YES];

正如我之前所说,我想要显示相机的UIView是:

@property (strong, nonatomic) IBOutlet UIView *showCamera;

提前致谢!

1 个答案:

答案 0 :(得分:3)

直到iOS 4,相机才会全屏打开。您可以做的是用您自己的视图覆盖该屏幕的一部分。您可以通过将视图置于其上(使用透明区域)来完成此操作:

reader.cameraOverlayView = myView;

从iOS 4+开始,您可以使用readerView。由于它只是一个UIView,你可以像任何其他视图一样使用它。例如:

readerView = [ZBarReaderView new]; readerView.frame = CGRectMake(...); // other view setup... [self.view addSubview: readerView];