我正在使用 ZBar SDK 在 iPhone 上读取二维码,但是我想在相机/扫描仪 View 的底部添加一些文本,这是用户的说明文本。这是我到目前为止所拥有的:

UIView *cameraOverlayView = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];
    cameraOverlayView.backgroundColor = [UIColor redColor];

    UILabel *instructionLabel = [[UILabel alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];
    [instructionLabel setTextColor:[UIColor grayColor]];
    [instructionLabel setBackgroundColor:[UIColor clearColor]];
    [instructionLabel setFont:[UIFont fontWithName: @"Trebuchet MS" size: 24.0f]];
    [instructionLabel setCenter:cameraOverlayView.center];
    [cameraOverlayView addSubview:instructionLabel];

    reader.cameraOverlayView = cameraOverlayView;
    reader.wantsFullScreenLayout = YES;

    [instructionLabel release];
    [cameraOverlayView release];

这是完整的类(class):

https://gist.github.com/4163761

不幸的是,标签没有显示。 ZBar 的文档说为此目的使用 cameraOverlayView,但它似乎不起作用。

另一个注意事项,我使用的是 Titanium 框架,所以这就是额外的 Titanium 类的来源,但是我的问题应该特定于 ZBar。

最佳答案

你看到cameraOverlayView了吗?将背景颜色设置为红色或其他颜色:cameraOverlayView.backgroundColor = [UIColor redColor];

如果您根本没有看到 cameraOverlayView,那么您可能需要设置 reader。 showZBarControls = NO 这将禁用默认控件并使用您的自定义覆盖。

如果您确实看到了 cameraOverlayView,则标签可能在边界之外。玩转原点并将其放置到位。

顺便说一句,我看到您没有使用 ARC,请确保您释放指令标签!

关于ios - 在 ZBar 扫描仪顶部添加叠加层,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13613476/

10-12 21:59