iOS二维码识别/二维码生成

UIImage 的宽和高设置为640,识别不出来再进行缩放识别。修改 UIImage 的代码如下:

-(UIImage *)TransformtoSize:(CGSize)Newsize{    // 创建一个bitmap的context    UIGraphicsBeginImageContext(Newsize);    // 绘制改变大小的图片    [self drawInRect:CGRectMake(0, 0, Newsize.width, Newsize.height)];    // 从当前context中创建一个改变大小后的图片    UIImage *TransformedImg=UIGraphicsGetImageFromCurrentImageContext();    // 使当前的context出堆栈    UIGraphicsEndImageContext();    // 返回新的改变大小后的图片    return TransformedImg;}

这样类似于ZXing中的tryHard设置为YES。识别不出来的二维码图片就可以识别了。

2016年5月20日 

bug: 点击进入扫一扫界面,退出,再进入,这样重复5次左右,扫一扫之前的界面的会出现卡顿。

原因:多次进入扫一扫界面,再退出,因此界面未被系统回收,captureSession对象一直在运行,会造成内存泄露,引起上一个界面卡顿。

解决方案:在视图将要消失的时候,确保captureSession对象停止运行。

- (void)viewWillDisappear:(BOOL)animated{    [super viewWillDisappear:animated];    if ([self.captureSession isRunning]) {        [self.captureSession stopRunning];    }}