我正在使用 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/