4

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

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];

这是完整的课程:

https://gist.github.com/4163761

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

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

4

1 回答 1

6

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

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

如果您确实看到了 cameraOverlayView,那么标签可能超出了界限。玩弄原点并将其放置到位。

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

于 2012-11-29T00:24:00.063 回答