iOS 二维码扫描

       由于现在电子市场的兴盛,越来越多的地方需要使用到二维码扫描来进行一些认证性的操作,今天就给大家到来关于二维码扫描的简单实现(测试需要真机)

   首先,我们需要QRCodeReaderViewController  二维码扫描组件,截下来,进入工程
在viewController里的代码如下:

#import "ViewController.h"

#import "QRCodeReaderViewController.h"//二维码

#import "TZYTwoDimensionDodeViewController.h"//自己创建的VC



@interface ViewController ()<QRCodeReaderDelegate>


@property (nonatomic, retain) QRCodeReaderViewController *qrCodeReaderVC;



@end


@implementation ViewController


- (void)viewDidLoad {

    [super viewDidLoad];

    // Do any additional setup after loading the view, typically from a nib.

    self.view.backgroundColor = [UIColor whiteColor];

    UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];

    button.frame = CGRectMake(100, 100, 100, 50);

    [button setTitle:@"扫码" forState:UIControlStateNormal];

    button.backgroundColor = [UIColor blueColor];

    [button addTarget:self action:@selector(buttonAction:) forControlEvents:UIControlEventTouchUpInside];

    [self.view addSubview:button];

    

    

}



#pragma mark-二维码扫描

- (void)buttonAction:(UIButton *)sender

{

    

    NSArray *types = @[AVMetadataObjectTypeQRCode];

    

    self.qrCodeReaderVC = [QRCodeReaderViewController readerWithMetadataObjectTypes:types];

    

    

    self.qrCodeReaderVC.delegate = self;

    

    

    [self.qrCodeReaderVC setCompletionWithBlock:^(NSString *resultAsString) {

        [self dismissViewControllerAnimated:YES completion:^{

            NSLog(@"----------------%@", resultAsString);

            

            if (!resultAsString.length == 0) {

                

                TZYTwoDimensionDodeViewController *web = [[TZYTwoDimensionDodeViewController alloc]init];

                

                //把扫到的url传递给下一个页面

                web.url = resultAsString;

                [self.navigationController pushViewController:web animated:YES];

            }

            

        }];

    }];

    

    [self presentViewController:self.qrCodeReaderVC animated:YES completion:NULL];

    

    

}




//读取结果后

- (void)reader:(QRCodeReaderViewController *)reader didScanResult:(NSString *)result

{

    [self dismissViewControllerAnimated:YES completion:^{

        NSLog(@"%@", result);

        

    }];

}



//取消返回

- (void)readerDidCancel:(QRCodeReaderViewController *)reader

{

    [self dismissViewControllerAnimated:YES completion:NULL];

}


之后我们需要自己创建一个TZYTwoDimensionDode viewController来实现扫码之后的认证
  .h里代码:

#import <UIKit/UIKit.h>


@interface TZYTwoDimensionDodeViewController : UIViewController


@property (nonatomic, copy) NSString *url;


@end

  .m里代码:

#import "TZYTwoDimensionDodeViewController.h"


@interface TZYTwoDimensionDodeViewController ()



@property (nonatomic, retain) UIWebView *webView;


@end


@implementation TZYTwoDimensionDodeViewController


- (void)viewDidLoad {

    [super viewDidLoad];

    // Do any additional setup after loading the view.

    

    

    self.view.backgroundColor = [UIColor orangeColor];

    

    self.webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];

    [self.view addSubview:self.webView];

    self.webView.backgroundColor = [UIColor clearColor];

    [self getWebViewData];

    

    

}




- (void)getWebViewData

{

    NSURL *url = [NSURL URLWithString:self.url];

    NSURLRequest *request = [NSURLRequest requestWithURL:url];

    [self.webView loadRequest:request];

}


这样我们就能实现二维码的扫描了!




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值