【问题标题】:Embed ZBar camera in a UIView在 UIView 中嵌入 ZBar 摄像头
【发布时间】:2012-12-13 08:43:56
【问题描述】:

我正在使用 ZBarSDK 使用 iPad 扫描二维码。我目前已经成功地工作了。但是,我目前的代码在全屏模式视图控制器中打开了相机,但我想将相机视图嵌入到 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;

提前致谢!

【问题讨论】:

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


    【解决方案1】:

    在 iOS 4 之前,相机将始终全屏打开。您可以做的是用您自己的视图覆盖该屏幕的一部分。您可以通过将您的视图放在它上面(带有透明区域)来做到这一点:

    reader.cameraOverlayView = myView;
    

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

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

    【讨论】:

    • 谢谢。但我认为 ZBar 有一个“阅读器视图”(ZbarReaderView)可以用于我的目的?只是努力寻找如何使用它,因为 ZBar 自己的文档不包括如何做到这一点,并说“你靠自己”。
    • 显然从 iOS 4+ 开始,您可以使用 readerView。由于它只是一个 UIView,因此您可以像使用任何其他视图一样使用它。例如像这样: readerView = [ZBarReaderView new]; readerView.frame = CGRectMake(...); // 其他视图设置... [self.view addSubview: readerView];
    • 我现在设法让相机显示在 UIView 中,但在扫描代码时出现错误。我发布了一个关于它的新问题。如果您的回答正确,我很乐意接受 Edwin 的回答?
    猜你喜欢
    • 2011-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-09
    相关资源
    最近更新 更多