iOS中的原生框架生成二维码

一、二维码的生成

  • 从iOS7开始集成了二维码的生成和读取功能
  • 此前被广泛使用的ZBarSDK 目前不支持64位处理器,除此之外还有ZXingSDK也可以生成二维码
  • 生成二维码的步骤
    • 导入CoreImage框架
    • 通过滤镜CIFilter生成二维码  
  • 二维码的内容(传统的条形码只能放数字)
    • 纯文本
    • 名片
    • URL(可直接跳转网页)
    • 二维码生成的具体代码
    • - (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
            
            //创建过滤器
            CIFilter *filter = [CIFilter filterWithName:@"CIQRCodeGenerator"];
            
            //过滤器恢复默认
            [filter setDefaults];
            
            //给过滤器添加数据
           NSString *string = @"http://www.cnblogs.com/PSSSCode/";
           
           //将NSString格式转化成NSData格式
           NSData *data = [string dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES];
           
           [filter setValue:data forKeyPath:@"inputMessage"];
           
           //获取二维码过滤器生成的二维码
           CIImage *image = [filter outputImage];
           
           //将获取到的二维码添加到imageview上
           self.imageView.image =[UIImage imageWithCIImage:image];
    • 从上图可以看出生成的二维码模糊不清晰,在上面代码块最后一步换成调用下面代码块中的方法即可
原文地址:https://www.cnblogs.com/code4better/p/5487449.html