IOS二维码拍照相机自定义界面实例
2013-03-13 14:15
316 查看
转载: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:selfaction:@selector(dismissOverlayView:)forControlEvents:UIControlEventTouchUpInside];
[reader.view addSubview:cancelButton];
}
//取消button方法
- (void)dismissOverlayView:(id)sender{
[self dismissModalViewControllerAnimated: YES];
}
这个简单的实例实在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:selfaction:@selector(dismissOverlayView:)forControlEvents:UIControlEventTouchUpInside];
[reader.view addSubview:cancelButton];
}
//取消button方法
- (void)dismissOverlayView:(id)sender{
[self dismissModalViewControllerAnimated: YES];
}
相关文章推荐
- IOS二维码拍照相机自定义界面实例
- IOS二维码拍照相机自定义界面实例
- iOS中使用ZBar扫描二维码自定义扫描界面
- iOS中使用ZBar扫描二维码自定义扫描界面
- iOS中使用ZBar扫描二维码自定义扫描界面功能
- IOS 二维码相机操作栏自定义实例
- iOS中使用ZBar扫描二维码自定义扫描界面
- ios二维码扫描插件,适配当前主流扫描软件,自定义扫描界面。
- iOS如何自定义启动界面实例详解
- iOS中使用ZBar扫描二维码自定义扫描界面
- iOS中使用ZBar扫描二维码自定义扫描界面
- ios二维码扫描插件,适配当前主流扫描软件,自定义扫描界面。
- iOS 多线程实例(自定义NSOperation并传值(block,notification))
- ios IM 基于环信的自定义聊天界面
- 二维码框架ZBarSDK的使用和自定义二维码扫描界面方法
- 实例解析iOS开发中系统音效以及自定义音效的应用
- ios自定义拍照界面
- iOS 用UISearchController自定义搜索界面
- iOS拍摄视频,自定义拍摄界面,高清压缩,添加水印
- 开发中仿IOS三级菜单,开源项目PickView实用自定义数据封装使用实例