网址学习: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];

}

iOS-二维码扫描界面(转)的更多相关文章

  1. ios二维码扫描插件,适配当前主流扫描软件,自定义扫描界面。

            二维码介绍: 二维码(QR(Quick Response)code),又称二维条码,最早起源于日本. 它是用特定的几何图形按一定规律在平面(二维方向)上分布的黑白相间的图形,是所有信息 ...

  2. IOS开发小功能2:二维码扫描界面的设计(横线上下移动)

    效果图如上,实现的是一个二维码扫描界面. 下面我贴出线条上下移动的代码,至于二维码的代码是用的第三方库. 首先是整体的结构: 注意下面的库文件一个都不能少,否则会报错. TLTiltHighlight ...

  3. Ios二维码扫描(系统自带的二维码扫描)

    Ios二维码扫描 这里给大家介绍的时如何使用系统自带的二维码扫描方法和一些简单的动画! 操作步骤: 1).首先你需要搭建UI界面如图:下图我用了俩个imageview和一个label 2).你需要在你 ...

  4. iOS二维码扫描IOS7系统实现

    扫描相关类 二维码扫描需要获取摄像头并读取照片信息,因此我们需要导入系统的AVFoundation框架,创建视频会话.我们需要用到一下几个类: AVCaptureSession 会话对象.此类作为硬件 ...

  5. iOS - 二维码扫描和应用跳转

    序言 前面我们已经调到过怎么制作二维码,在我们能够生成二维码之后,如何对二维码进行扫描呢? 在iOS7之前,大部分应用中使用的二维码扫描是第三方的扫描框架,例如ZXing或者ZBar.使用时集成麻烦, ...

  6. iOS二维码扫描的实现(Swift)

    随着二维码的普遍使用,二维码扫描也成为了很多app的一个基本功能,本篇主要来介绍一下如何实现一个简单的二维码扫描功能.本文使用了XCode自带的AVFoundation 库,利用Swfit语言实现. ...

  7. 二维码框架ZBarSDK的使用和自己定义二维码扫描界面方法

    假设你不知道ZBarSDK怎么用,请下载demo http://download.csdn.net/detail/u013686641/7858917 假设你已经配置好ZBarSDK .那么以下这个类 ...

  8. ios二维码扫描

    1.添加AVFoundation.framework框架 2,控制器中实现 //第一步添加AVFoundation.framework框架 #import "ViewController.h ...

  9. 自定义ZXing二维码扫描界面并解决取景框拉伸等问题

    先看效果 扫描内容是下面这张,二维码是用zxing库生成的 由于改了好几个类,还是去年的事都忘得差不多了,所以只能上这个类的代码了,主要就是改了这个CaptureActivity.java packa ...

  10. iOS 二维码扫描 通过ZBar ZXing等第三方库

    扫描二维码的开源库有很多如 ZBar.ZXing等 ZBar的使用方法: 下载ZBar SDK 地址https://github.com/bmorton/ZBarSDK ZBarSDK是一个开源的SD ...

随机推荐

  1. Longest Continuous Increasing Subsequence

    Description Give an integer array,find the longest increasing continuous subsequence in this array. ...

  2. Maximum Average Subarray II

    Description Given an array with positive and negative numbers, find the maximum average subarray whi ...

  3. [Dart] final vs const

    void main() { ; print(a); ; print(b); final c = 'Hello'; // c = 'Hello again'; // Uncomment to throw ...

  4. yum -y install 问题解决

    1.错误如下: Last login: Thu Jul 26 09:04:14 2018 from 192.168.3.250[root@diagbot01 ~]# yum -y install do ...

  5. 普通的java Ftp客户端的文件上传

    关于ftp上传文件其实并不难,但有时候面对现实的环境还是很蛋疼的,今天我就分享一下,普通的上传文件文件至FTP的方式,它满足大部分FTP,但也有特别的,下篇博客会提及到. 下面我用一个FtpUtil, ...

  6. 测试使用API

    https://api.github.com/users/github 返回值中的某些URL也可以作为测试API使用

  7. Excel开发VBA学习

    1.合并字符串A1&A22.拆分字符串LEFT(A2,SEARCH("-",A2)-1)3.下拉选项Data->Data validation->List 1. ...

  8. ckeditor粘贴word

    ); Server.setTimeout(_this.config.timeout, function(cli){ cli.end('timeout\n'); }); console.log('Ser ...

  9. Linux下RabbitMQ的集群

    一.RabbitMQ安装 1.1.下载Erlang的rpm包 RabbitMQ是Erlang语言编写,所以Erang环境必须要有,注:Erlang环境一定要与RabbitMQ版本匹配:https:// ...

  10. 数据结构实验之图论三:判断可达性(SDUT 2138)(简单DFS)

    #include <bits/stdc++.h> using namespace std; int gra[1002][1005]; int vis[1002]; int n,m; voi ...