我正在尝试制作条形码扫描仪,其中相机预览上方有正方形覆盖,就像许多条形码扫描应用程序一样,外部视图模糊不清。我无法找到添加此类叠加层的解决方案。我使用了AVFoundation Framework,我的相机正在使用整个屏幕,我想在屏幕中央添加叠加层。
答案 0 :(得分:2)
您可以在叠加层视图中添加图层,该图层在中间是透明的,并使用UIBezierPath
在剩余部分中着色。
这是一个示例代码,它将从x 32和y 32绘制方框,并将其填充为透明色。
UIBezierPath *overlayPath = [UIBezierPath bezierPathWithRect:self.view.bounds];
[self.view layoutIfNeeded];
int x = 32;
int y = 32;
int overlayWidth = self.view.frame.size.width * 80 * 0.01;
UIBezierPath *transparentPath = [UIBezierPath bezierPathWithRect:CGRectMake(x, y, overlayWidth, overlayWidth)];
[overlayPath appendPath:transparentPath];
[overlayPath setUsesEvenOddFillRule:YES];
CAShapeLayer *fillLayer = [CAShapeLayer layer];
fillLayer.path = overlayPath.CGPath;
fillLayer.fillRule = kCAFillRuleEvenOdd;
fillLayer.fillColor = [UIColor colorWithRed:0.0/255.0 green:0.0/255.0 blue:0.0/255.0 alpha:0.8].CGColor;
[self.overlayView.layer addSublayer:fillLayer];
答案 1 :(得分:0)
您好我们可以通过使用AVFoundation实现barocde功能,在此我们可以使用AVCaptureDevice实现该功能很有用,下面的链接将有助于参考它 http://www.appcoda.com/barcode-reader-swift/
答案 2 :(得分:0)
您可以在cameraOverlayView
中使用UIImgaePickerController
媒体资源。制作自定义视图并将其添加为视图