zoukankan      html  css  js  c++  java
  • iOS-二维码扫描界面(转)

    网址学习:http://blog.csdn.net/linux_zkf/article/details/7724867     二维码扫描界面自定义

    作者:朱克锋

    邮箱:zhukefeng@iboxpay.com

    转载请注明出处:http://blog.csdn.net/linux_zkf

     

    这个简单的实例实在ZBarReaderViewController的view层上再加一层用于定义自己的界面

    - (void)QRscan

    {

        ZBarReaderViewController *reader = [ZBarReaderViewController new];

        reader.readerDelegate = self;

    //非全屏

        reader.wantsFullScreenLayout = NO;

        //隐藏底部控制按钮

        reader.showsZBarControls = NO;    

    //设置自己定义的界面

        [self setOverlayPickerView:reader];

        ZBarImageScanner *scanner = reader.scanner;

       [scanner setSymbology: ZBAR_I25

                       config: ZBAR_CFG_ENABLE

                           to: 0];

        [self presentModalViewController: reader

                                animated: YES];

        [reader release];

    }

    - (void)setOverlayPickerView:(ZBarReaderViewController *)reader

    {

    //清除原有控件

        for (UIView *temp in [reader.view subviews]) {        

            for (UIButton *button in [temp subviews]) {

                if ([button isKindOfClass:[UIButton class]]) {                

                    [button removeFromSuperview];               

                }

            }        

            for (UIToolbar *toolbar in [temp subviews]) {               

                if ([toolbar isKindOfClass:[UIToolbar class]]) {                

                    [toolbar setHidden:YES];

                    [toolbar removeFromSuperview];

                }

            }

        }

        //画中间的基准线

        UIView* line = [[UIView alloc] initWithFrame:CGRectMake(40, 220, 240, 1)];

        line.backgroundColor = [UIColor redColor];

        [reader.view addSubview:line];

        [line release];   

    //最上部view

        UIView* upView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 80)];

        upView.alpha = 0.3;

        upView.backgroundColor = [UIColor blackColor];

        [reader.view addSubview:upView];

        //用于说明的label

        UILabel * labIntroudction= [[UILabel alloc] init];

        labIntroudction.backgroundColor = [UIColor clearColor];

        labIntroudction.frame=CGRectMake(15, 20, 290, 50);

        labIntroudction.numberOfLines=2;   

        labIntroudction.textColor=[UIColor whiteColor];

        labIntroudction.text=@"将二维码图像置于矩形方框内,离手机摄像头10CM左右,系统会自动识别。";

        [upView addSubview:labIntroudction];

        [labIntroudction release];

        [upView release];    

    //左侧的view

        UIView *leftView = [[UIView alloc] initWithFrame:CGRectMake(0, 80, 20, 280)];

        leftView.alpha = 0.3;

        leftView.backgroundColor = [UIColor blackColor];

        [reader.view addSubview:leftView];

        [leftView release];

    //右侧的view  

        UIView *rightView = [[UIView alloc] initWithFrame:CGRectMake(300, 80, 20, 280)];

        rightView.alpha = 0.3;

        rightView.backgroundColor = [UIColor blackColor];

        [reader.view addSubview:rightView];

        [rightView release];   

        //底部view

        UIView * downView = [[UIView alloc] initWithFrame:CGRectMake(0, 360, 320, 120)];

        downView.alpha = 0.3;

        downView.backgroundColor = [UIColor blackColor];

        [reader.view addSubview:downView];

        [downView release];           

        //用于取消操作的button

        UIButton *cancelButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];    

        cancelButton.alpha = 0.4;

        [cancelButton setFrame:CGRectMake(20, 390, 280, 40)]; 

        [cancelButton setTitle:@"取消" forState:UIControlStateNormal];

        [cancelButton.titleLabel setFont:[UIFont boldSystemFontOfSize:20]];

        [cancelButton addTarget:self action:@selector(dismissOverlayView:)forControlEvents:UIControlEventTouchUpInside];

        [reader.view addSubview:cancelButton];

    }

    //取消button方法

    - (void)dismissOverlayView:(id)sender{ 

        [self dismissModalViewControllerAnimated: YES];

    }

  • 相关阅读:
    假如
    Find the peace with yourself
    Sep 15th 2018
    Sep 10th 2018
    third party sales process 继续说
    成功设置open live writer
    sublime text2 基本配置及结合Python 环境
    Compmgmtlauncher.exe问题解决方法
    nginx 代理服务器
    vmware之linux不重启添加虚拟硬盘
  • 原文地址:https://www.cnblogs.com/linxiu-0925/p/5434846.html
Copyright © 2011-2022 走看看