转载:http://42.96.197.72/ios-zbarreaderview-interface-orientation/

在iPad应用中,如果没有特殊情况,需要让应用支持所有屏幕方向。在iPad中使用ZBar扫描二维码时,需要在屏幕旋转时调整摄像头的方向,而ZBarReaderView并不会在屏幕旋转时自动调整方向,所以需要我们以某种方式进行控制。

如果使用的是ZBarReaderViewController,那么这件事情相对比较简单,使用以下方式进行设置即可支持所有屏幕方向。

ZBarReaderViewController *reader = [[ZBarReaderViewController alloc]init];
reader.supportedOrientationsMask = ZBarOrientationMaskAll;

我在项目中使用的是ZBarReaderView,在网上找的一些方案都不能很好的解决问题,最终用以下方式解决了屏幕旋转问题,并且非常简洁。

ZBarReaderView中摄像头的默认方向为UIInterfaceOrientationPortrait,因此需要在初始化时调用该方法,以保证ZBarReaderView初始化时处于正确的方向。代码如下:

ZBarReaderView *readerView = [[ZBarReaderView alloc]init];
[readerView 
    willRotateToInterfaceOrientation:
        [[UIApplication sharedApplication] statusBarOrientation] 
    duration:
        [[UIApplication sharedApplication]statusBarOrientationAnimationDuration]];

此外,添加以下部分以保证ZBarReaderView可以正确处理屏幕旋转,代码如下:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
    return YES;
}

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

更多0

转载于:https://www.cnblogs.com/Camier-myNiuer/p/3472500.html

ZBarReaderView屏幕旋转问题相关推荐

  1. iOS传感器:实现一个随屏幕旋转的图片

    作者 非典型技术宅 关注 2017.05.24 17:22* 字数 1568 阅读 351评论 7喜欢 14 在写上一个动画系列的时候学到了非常多的知识,也认识了很多人.例如受邀进入了某个神秘的动效组 ...

  2. Android开发实践:屏幕旋转的处理

    最近开发Android Camera相关的程序,被屏幕旋转搞得头大,一方面得考虑屏幕旋转后布局的变化,另一方面得搞清楚屏幕的旋转方向.角度与Camera的Preview角度的关系.本来通过重载Acti ...

  3. 屏幕旋转导致Activity销毁重建,ViewModel是如何恢复数据的

    前言 当屏幕旋转或者切换系统语言时,Activity 生命周期从销毁再重建,但是ViewModel里面的变量值不受到影响,说明ViewModel中的变量在屏幕旋转前进行了存储,在屏幕旋转后又进行了恢复 ...

  4. Android 设定横屏,禁止屏幕旋转,Activity重置 [更新视频播放器相关]

    1. 设定屏幕方向 当指定了屏幕的方向后(非SCREEN_ORIENTATION_UNSPECIFIED),屏幕就不会自己主动的旋转了 有2中方式控制屏幕方向: 1.1 改动AndroidManife ...

  5. 【Android RTMP】NV21 图像旋转处理 ( 问题描述 | 图像顺时针旋转 90 度方案 | YUV 图像旋转细节 | 手机屏幕旋转方向 )

    文章目录 安卓直播推流专栏博客总结 一. NV21 图像格式与 Camera图像传感器方向问题 二. NV21 图像格式视频旋转 1. 图像旋转问题及解决方案 ( 顺时针旋转 90 度 ) 2. NV ...

  6. Android 屏幕旋转时Activity的变化

    Android开发文档上专门有一小节解释这个问题.简单来说,Activity是负责与用户交互的最主要机制,任何"设置"(Configuration)的改变都可能对Activity的 ...

  7. 视图控制器及屏幕旋转

    自定义View中 @implementation Rootview - (id)initWithFrame:(CGRect)frame { self = [super initWithFrame:fr ...

  8. Android 打开屏幕旋转

    2019独角兽企业重金招聘Python工程师标准>>> 添加设置读写权限: <uses-permission android:name="android.permis ...

  9. android功能导航布局,安卓9.0新功能 屏幕旋转将与导航栏同窗

    中关村在线消息:今天早些时候谷歌向开发者们推送了Android P(也称安卓9.0)的首个开发者预览版,在原先8.0的基础上进一步改进了通知栏,也为刘海屏幕专门进行了优化.意味着未来"刘海& ...

最新文章

  1. Linux redhat 9.0 中挂载U盘的方法!
  2. buffer转int python_Python学习教程第23天numpy库(上)
  3. Linux监听进程是否存在,并加入定时任务
  4. 【年终总结】有三AI至今在人脸图像算法领域都分享了哪些内容?
  5. c 语言常用宏定义 模板
  6. opengl加载显示3D模型AMF类型文件
  7. 2016蓝桥杯省赛---java---C---10(密码脱落)
  8. 浅谈如何学习linux
  9. python中str转unicode_python将unicode和str互相转化的实现
  10. 内核中的UDP socket流程(5)——inet_create
  11. android dalvik虚拟机 大小段问题
  12. 暴怒程序员的呐喊:别让我做那些没用的东西
  13. JAVA 他人博客收藏 (To be continue)
  14. 王军生老师---银行领域高端讲师(王军生)
  15. 解决android.support.multide... keeps stopping问题
  16. linux查看共享内存文件,linux 共享内存
  17. 面试最常问的设计模式
  18. bert简单介绍和实践
  19. 单片机课程设计,基于AT89C51和LCD-12864的贪吃蛇游戏
  20. unkown the request

热门文章

  1. java中系统撤销对象顺序实例,撤消/重做功能Java的对象序列化
  2. 高效交易连接器,MallBook产品顾问如何看待分账系统对交易数字化的作用
  3. 无法注册:DAO350.dll,THREED32.OCX的解决方案
  4. 梦幻“玩主”—记新普矽谷科技CEO史朝翔
  5. 5年Python生涯总结出10个玩Python必备的网站
  6. 最全SRC集锦,并附上每家应急响应中心SRC额外奖励,有些是隐藏奖励哦(最全)
  7. 凹语言™——名字的由来和寓意
  8. 静态代理,动态代理简单理解
  9. 当我们打开网页时,浏览器究竟做了什么
  10. mysqldump 每日定时备份