二维码libzbar设置扫描区域

_readerView = [[ZBarReaderView alloc]init];

    _readerView.frame = [UIScreen mainScreen].bounds;

    _readerView.allowsPinchZoom = NO;

    _readerView.readerDelegate = self;

    _readerView.tracksSymbols = NO;

    _readerView.torchMode = 0//关闭闪光灯

    

    CGRect scanMaskRect = CGRectMake(0, 185, 320, 183);

    //设置扫描区域

    _readerView.scanCrop = [self getScanCrop:scanMaskRect readerViewBounds:_readerView.bounds];

    

    [self.view addSubview:_readerView];

。。。。。

}




-(CGRect)getScanCrop:(CGRect)rect readerViewBounds:(CGRect)rvBounds

{

//    CGFloat x,y,width,height;

//    

//    x = rect.origin.x / readerViewBounds.size.width;

//    y = rect.origin.y / readerViewBounds.size.height;

//    width = rect.size.width / readerViewBounds.size.width;

//    height = rect.size.height / readerViewBounds.size.height;

//    

//    return CGRectMake(x, y, width, height);

    

    //听马远说上边的方法应该是横屏模式时的区域,下边的才是竖屏

    CGFloat x,y,width,height;
    x = rect.origin.y / rvBounds.size.height;
    y = 1 - (rect.origin.x + rect.size.width) / rvBounds.size.width;
    width = (rect.origin.y + rect.size.height) / rvBounds.size.height;
    height = 1 - rect.origin.x / rvBounds.size.width;
    return CGRectMake(x, y, width, height);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值