博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ZBarReaderView屏幕旋转问题
阅读量:6851 次
发布时间:2019-06-26

本文共 1218 字,大约阅读时间需要 4 分钟。

 

转载: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
];
}
更多

 

 
你可能感兴趣的文章
golang读取json格式的天气预报
查看>>
每周一书《大数据搜索引擎原理分析及编程实现》分享!
查看>>
【网优谷】如何快速写出有吸引力的网站标题?
查看>>
Linux运维之lLinux文件系统及文件类型
查看>>
网站SEO优化过程中什么样的文章容易被秒收
查看>>
stata初学者常用命令语
查看>>
tomcat的安装
查看>>
深入理解并行编程4
查看>>
Internet Connection speeds
查看>>
puppet运维自动化之puppet模块示例
查看>>
如何让云×××:VIS Creator 带给您一个市场领先的私有云管理平台
查看>>
获取各个ISP运营商IP地址修正版[菜鸟级]
查看>>
python核心编程--第五章
查看>>
我的友情链接
查看>>
关于Mac系统中SequelPro工具对于Mysql数值类型nt(M)存值的bug
查看>>
Linux下重置MySQL的Root帐号密码
查看>>
下一个目标-百度
查看>>
百度地图API学习之路(2)
查看>>
dell服务器硬盘的状态变成外来(foreign)
查看>>
redhat6.4更换centos 6 的 yum源
查看>>