//
|
// MyQRViewController.m
|
// ScanHelperDemo
|
//
|
// Created by zhengrui on 17/2/14.
|
// Copyright © 2017年 zhengrui. All rights reserved.
|
//
|
|
#import "MyQRViewController.h"
|
#import "LBXScanWrapper.h"
|
#import "LBXAlertAction.h"
|
#import "UIImageView+CornerRadius.h"
|
|
@interface MyQRViewController ()
|
|
//二维码
|
@property (nonatomic, strong) UIView *qrView;
|
@property (nonatomic, strong) UIImageView* qrImgView;
|
|
//条形码
|
@property (nonatomic, strong) UIView *tView;
|
@property (nonatomic, strong) UIImageView *tImgView;
|
|
|
@end
|
|
@implementation MyQRViewController
|
|
- (void)viewDidLoad {
|
[super viewDidLoad];
|
// Do any additional setup after loading the view.
|
|
if ([self respondsToSelector:@selector(setEdgesForExtendedLayout:)]) {
|
|
self.edgesForExtendedLayout = UIRectEdgeNone;
|
}
|
|
self.view.backgroundColor = [UIColor whiteColor];
|
}
|
|
- (void)viewDidAppear:(BOOL)animated
|
{
|
[super viewDidAppear:animated];
|
|
UIButton *btn1 = [[UIButton alloc]initWithFrame:CGRectMake(50, self.view.frame.size.height - 60, self.view.frame.size.width-100, 40)];
|
[btn1 setTitle:@"切换码的样式及类型" forState:UIControlStateNormal];
|
[btn1 setTitleColor:[UIColor blueColor] forState:UIControlStateNormal];
|
[btn1 addTarget:self action:@selector(newCodeChooose) forControlEvents:UIControlEventTouchUpInside];
|
|
btn1.backgroundColor = [UIColor lightGrayColor];
|
|
[self.view addSubview:btn1];
|
|
|
//二维码
|
UIView *view = [[UIView alloc]initWithFrame:CGRectMake( (CGRectGetWidth(self.view.frame)-CGRectGetWidth(self.view.frame)*5/6)/2, 100, CGRectGetWidth(self.view.frame)*5/6, CGRectGetWidth(self.view.frame)*5/6)];
|
[self.view addSubview:view];
|
view.backgroundColor = [UIColor whiteColor];
|
view.layer.shadowOffset = CGSizeMake(0, 2);
|
view.layer.shadowRadius = 2;
|
view.layer.shadowColor = [UIColor blackColor].CGColor;
|
view.layer.shadowOpacity = 0.5;
|
|
|
self.qrImgView = [[UIImageView alloc]init];
|
_qrImgView.bounds = CGRectMake(0, 0, CGRectGetWidth(view.frame)-12, CGRectGetWidth(view.frame)-12);
|
_qrImgView.center = CGPointMake(CGRectGetWidth(view.frame)/2, CGRectGetHeight(view.frame)/2);
|
[view addSubview:_qrImgView];
|
self.qrView = view;
|
|
|
//条形码
|
self.tView = [[UIView alloc]initWithFrame:CGRectMake( (CGRectGetWidth(self.view.frame)-CGRectGetWidth(self.view.frame)*5/6)/2,
|
100,
|
CGRectGetWidth(self.view.frame)*5/6,
|
CGRectGetWidth(self.view.frame)*5/6*0.5)];
|
[self.view addSubview:_tView];
|
|
|
self.tImgView = [[UIImageView alloc]init];
|
_tImgView.bounds = CGRectMake(0, 0, CGRectGetWidth(_tView.frame)-12, CGRectGetHeight(_tView.frame)-12);
|
_tImgView.center = CGPointMake(CGRectGetWidth(_tView.frame)/2, CGRectGetHeight(_tView.frame)/2);
|
[_tView addSubview:_tImgView];
|
|
|
|
[self createQR1];
|
|
}
|
|
- (void)newCodeChooose
|
{
|
__weak __typeof(self) weakSelf = self;
|
[LBXAlertAction showActionSheetWithTitle:@"" message:nil chooseBlock:^(NSInteger buttonIdx) {
|
|
if (buttonIdx==1) {
|
[weakSelf createQR1];
|
}
|
else if (buttonIdx == 2)
|
{
|
[weakSelf createQR2];
|
}
|
else if (buttonIdx == 3)
|
{
|
[weakSelf createQR3];
|
}
|
else if (buttonIdx == 4)
|
{
|
[weakSelf createCodeEAN13];
|
}
|
else if (buttonIdx == 5)
|
{
|
[weakSelf createCode93];
|
}
|
|
} cancelButtonTitle:@"取消" destructiveButtonTitle:nil otherButtonTitle:@"二维码+logo",@"二维码上色",@"二维码前景颜色+背景颜色",@"商品条形码",@"code93(支付宝付款条形码)",nil];
|
}
|
|
|
- (void)createQR1
|
{
|
_qrView.hidden = NO;
|
_tView.hidden = YES;
|
|
_qrImgView.image = [LBXScanWrapper createQRWithString:@"lbxia20091227@foxmail.com" size:_qrImgView.bounds.size];
|
|
CGSize logoSize=CGSizeMake(30, 30);
|
UIImageView* imageView = [self roundCornerWithImage:[UIImage imageNamed:@"logo.JPG"] size:logoSize];
|
[LBXScanWrapper addImageViewLogo:_qrImgView centerLogoImageView:imageView logoSize:logoSize];
|
|
}
|
|
- (UIImageView*)roundCornerWithImage:(UIImage*)logoImg size:(CGSize)size
|
{
|
//logo圆角
|
UIImageView *backImage = [[UIImageView alloc] initWithCornerRadiusAdvance:6.0f rectCornerType:UIRectCornerAllCorners];
|
backImage.frame = CGRectMake(0, 0, size.width, size.height);
|
backImage.backgroundColor = [UIColor whiteColor];
|
|
UIImageView *logImage = [[UIImageView alloc] initWithCornerRadiusAdvance:6.0f rectCornerType:UIRectCornerAllCorners];
|
logImage.image =logoImg;
|
CGFloat diff =2;
|
logImage.frame = CGRectMake(diff, diff, size.width - 2 * diff, size.height - 2 * diff);
|
|
[backImage addSubview:logImage];
|
|
|
return backImage;
|
}
|
|
- (void)createQR2
|
{
|
_qrView.hidden = NO;
|
_tView.hidden = YES;
|
|
UIImage *image = [LBXScanWrapper createQRWithString:@"lbxia20091227@foxmail.com" size:_qrImgView.bounds.size];
|
//二维码上色
|
_qrImgView.image = [LBXScanWrapper imageBlackToTransparent:image withRed:255.0f andGreen:74.0f andBlue:89.0f];
|
|
}
|
|
- (void)createQR3
|
{
|
_qrView.hidden = NO;
|
_tView.hidden = YES;
|
|
//生成的不好识别,自己去调好颜色应该就可以识别了
|
_qrImgView.image = [LBXScanWrapper createQRWithString:@"lbxia20091227@foxmail.com"
|
QRSize:_qrImgView.bounds.size
|
QRColor:[UIColor colorWithRed:200./255. green:84./255. blue:40./255 alpha:1.0]
|
bkColor:[UIColor colorWithRed:41./255. green:130./255. blue:45./255. alpha:1.0]];
|
}
|
|
//商品条形码
|
- (void)createCodeEAN13
|
{
|
_qrView.hidden = YES;
|
_tView.hidden = NO;
|
|
_tImgView.image = [LBXScanWrapper createCodeWithString:@"6944551723107" size:_qrImgView.bounds.size CodeFomart:AVMetadataObjectTypeEAN13Code];
|
}
|
|
- (void)createCode93
|
{
|
_qrView.hidden = YES;
|
_tView.hidden = NO;
|
|
//支付宝付款码-条款码
|
_tImgView.image = [LBXScanWrapper createCodeWithString:@"283657461695996598" size:_qrImgView.bounds.size CodeFomart:AVMetadataObjectTypeCode128Code];
|
}
|
|
- (void)clickBack{
|
[self.navigationController popViewControllerAnimated:YES];
|
}
|
|
@end
|