http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 10209|回复: 0

[IPHONE] 再谈Zbar SDK之扫描设置以及屏幕旋转问题

[复制链接]
发表于 2014-5-7 10:52:26 | 显示全部楼层 |阅读模式
本帖最后由 Koson 于 2014-5-7 10:54 编辑

      近日在学习一些关于如何模块化项目开发的东东(有兴趣的哥们可以去看看Using CocoaPods to Modularize a Big iOS App),也没有很多时间来论坛看看。鉴于近日又经常有人问题关于ZBar SDK进行二维码扫描的问题,那就花些时间再简略谈谈ZBar SDK吧。

1、除了ZBar SDK,还有其他的更好扫描二维码或者条形码的SDK吗?

有,个人目前只了解过ZBar 与 ZXing,但是比较推荐使用ZBar SDK,如果还有朋友知道其他更好的,欢迎推荐。(其实ios 7 SDK已经有关于QRCode的API可以使用了)

2、ZBar SDK有几种使用方式?

ZBar SDK有两种使用方式:1)直接调用 ZBarReaderViewController 打开一个扫描界面;2)ZBar SDK提供的可以嵌入其他视图的ZBarReaderView(建议使用该方式,高度可自定义界面);


3、一些可能会用到的设置(请不要问我怎么创建一个ZBarReaderView,因为我会告诉你 ZBar SDK官方网站)有哪些?


请设置readerDelegate,并实现它
           
[Objective-C] 纯文本查看 复制代码
readerView.readerDelegate = self;



设置关闭闪关灯,设置为0即可,你可以根据自己需要去调整
              
[Objective-C] 纯文本查看 复制代码
readerView.torchMode = 0;



设置扫描区域,经常有人会问我,就像微信那样子的,只有中间部分进行扫描(也确实会有这样子的需求发生),ZBar可以通过ZBarReaderView的scanCrop属性设置扫描区域,其默认值是CGRect(0, 0, 1, 1),也就是整个ZBarReaderView区域都是有效的扫描区域,计算区域需要稍稍思考一下,这样的问题是不能够帮助你的,自己思考思考吧
               
[Objective-C] 纯文本查看 复制代码
// 根据你的实际需要计算扫描区域
CGRect scanRect = CGRectMake(60, 180, 200, 200);
readerView.scanCrop =scanRect;

4、其他的一些使用请参见前面的两篇文章;

5、使用iPad进行扫描的时候,遇到的屏幕旋转问题?

如果你的iPad应用支持多个方向旋转,那么你应该也会遇到这个问题了。如果你是使用的ZbarReaderViewController,那么非常简单的:
                 
[Objective-C] 纯文本查看 复制代码
ZBarReaderViewController *readerView = [[ZBarReaderViewController alloc] init];
readerView.supportedOrientationsMask = ZBarOrientationMaskAll;


如果你是使用ZBarReaderView,那么就稍稍麻烦一点点了,当然,也不会非常难了。ZbarReaderView camera默认的的支持方向是 UIInterfaceOrientationPortrait,为了保证你的ZBarReaderView的处于正确的方向,在ZBarReaderView初始化的时候设置如下:
              
[Objective-C] 纯文本查看 复制代码
ZBarReaderView *readerView = [[ZBarReaderView alloc] init];
[readerView 
    willRotateToInterfaceOrientation:
        [[UIApplication sharedApplication] statusBarOrientation] 
    duration:
        [[UIApplication sharedApplication]statusBarOrientationAnimationDuration]];


另外,为了确保在旋转屏幕的时候可以让ZbarReaderView正确的进行旋转,请看以下代码:
                  
[Objective-C] 纯文本查看 复制代码
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
    return YES;
}

// 屏幕旋转
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
    duration:(NSTimeInterval)duration
{
    [readerView willRotateToInterfaceOrientation:toInterfaceOrientation duration:duration];
}


由于时间有限,可能讲的不是很全面,还有更多的细节部分请参见官方说明


         




1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-4-27 15:05

© 2014-2021

快速回复 返回顶部 返回列表