最近公司项目需要实现一个类似qq扫一扫功能,该功能主要分为三个部分:扫一扫、扫描相册中二维码图片、开灯(我的二维码不是主要功能)
1.扫一扫
iOS7以后,AVFoundation.framework框架支持扫一扫功能,详细代码,可以参考http://www.jianshu.com/p/6b7d54b3f88b
但该博客中的代码只能简单的实现扫一扫功能,周围的背景并不是半透明的。
通过以下代码可以实现中间透明,旁边半透明的效果
-(void)setupBgView{
self.view.backgroundColor = [UIColor blackColor];
//绘制扫一扫背景,中间透明,旁边半透明
UIGraphicsBeginImageContext(self.view.frame.size);
CGContextRef ctx = UIGraphicsGetCurrentContext();
CGContextSetRGBFillColor(ctx, 0,0,0,0.5);
CGRect drawRect =CGRectMake(0, 0, Screen_Width, Screen_height);
//draw the transparent layer
CGContextFillRect(ctx, drawRect);
//clear the center rect of the layer
drawRect = self.scanBg.frame;