生成二维码

因为项目里需要新增个功能,该功能用到了二维码技术。于是我便查阅了资料,先学习了二维码的生成。

我们使用libqrencode库来生成二维码。下载地址http://download.csdn.net/download/sjx19871225/5065683。下载下来后,我们将整个文件夹导入到项目中。

新建一个视图控制器QRCoder,导入QRCodeGenerator.h,然后创建它的根视图。在根视图上添加一个文本框和一个按钮,我们获得文本框内容,生成它的二维码图像。点击按钮,执行QRCode方法生成二维码。

 - (void)viewDidLoad
 {
     [super viewDidLoad];
     //根视图
     UIView *view = [[UIView alloc] initWithFrame:[UIScreen mainScreen].applicationFrame];
     self.view = view;
     //文本框
     UITextField *textFielf = [[UITextField alloc] initWithFrame:CGRectMake(, , , )];
     textFielf.backgroundColor = [UIColor yellowColor];
     textFielf.placeholder = @"请输入文字";
     textFielf.tag = ;
     [view addSubview:textFielf];
     //按钮
     UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(, , , )];
     [button setTitle:@"生成" forState:UIControlStateNormal];
     button.backgroundColor = [UIColor orangeColor];
     [view addSubview:button];
     [button addTarget:self action:@selector(QRCode) forControlEvents:UIControlEventTouchUpInside];
 }

在QRCode方法中,我们获得文本框中的内容,调用QRCodeGenerator的qrImageForString:imageSize:方法生成二维码图像,然后添加到视图上。

 //生成二维码
 -(void)QRCode{
     UITextField *textFielf = [self.view viewWithTag:];
     UIImage *img = [QRCodeGenerator qrImageForString:textFielf.text imageSize:];
     UIImageView *imgView = [[UIImageView alloc] initWithFrame:CGRectMake(, , , )];
     imgView.image = img;
     [self.view addSubview:imgView];
 }

最后在应用程序的代理类中添加视图控制器。

  QRCoder *vc = self.window.rootViewController = vc; 

运行结果截图: