2

我想知道在 iPhone/iOS 应用程序中使用 Zbar 条形码扫描时是否可以在屏幕上添加某种类型或十字准线或其他视觉指示器以帮助用户将相机对准 QR 码?

4

2 回答 2

2

最好使用透明的 PNG 来实现。只需将其导入您的项目,然后创建一个新UIImageView的给读者。

我这样做是为了添加一个徽标:

// Create the reader
self.reader = [ZBarReaderViewController new];
self.reader.readerDelegate = self;

// Create image for adding a logo :)
UIImage *image = [UIImage imageNamed:@"scan_logo.png"];
UIImageView *imageLogo = [[UIImageView alloc] initWithImage:image];
imageLogo.frame = CGRectMake(0, 0, image.size.width, image.size.height);

// Configure reader
self.reader.cameraOverlayView = imageLogo;

要使图像居中,只需更改框架位置:

imageLogo.frame = CGRectMake(0, 0, image.size.width, image.size.height);

类似于:

imageLogo.center = CGRectMake(320/2, 460/2, image.size.width, image.size.height);
于 2011-06-06T07:48:31.693 回答
0

FWIW 我在我的应用程序中所做的是扩展 ZBarReaderViewController 类,将我的新类也设置为 ZBarReaderDelegate,然后将 JeroenEijkhof 的代码放入我的初始化覆盖中:

- (id) init
{
    self = [super init];
    if( self ) {
        self.readerDelegate = self;
        UIImage *image = [UIImage imageNamed:...
        ...
    }
    return self;
}

这使我能够控制视图的其他方面,例如自定义导航控制器viewDidLoadviewWillAppear因为我在 NavigationController 视图堆栈中实现相机视图,并且希望能够添加标题栏、工具栏等而不是呈现它模态的,正如 zbar 文档所展示的那样。

于 2011-07-14T16:00:54.793 回答