这两天在做一个项目,要根据一串字符串生成一张二维码,研究了下;
有些用第三方的,iOS7之后,可以使用原生的CIFilter
创建二维码,但是生成的二维码只有黑白,而且大小不好控制,找了一下资料,发现解决的方法,使二维码透明背景,自定义颜色,还能加上阴影效果,方法很简单,直接调用即可,效果如下:
二维码下面的这串数字是我自己加的,不是生成的!
项目可能要导入一个库
#import <CoreImage/CoreImageDefines.h>
下面是方法:
首先是二维码的生成,使用CIFilter
很简单,直接传入生成二维码的字符串即可:
- (CIImage *)createQRForString:(NSString *)qrString {
NSData *stringData = [qrString dataUsingEncoding:NSUTF8StringEncoding];
// 创建filter
CIFilter *qrFilter = [CIFilter filterWithName:@"CIQRCodeGenerator"];
// 设置内容和纠错级别
[qrFilter setValue:stringData forKey:@"inputMessage"];
[qrFilter setValue:@"M" forKey:@"inputCorrec