就是类似zbarsdk中哦个ZBarReaderView的scanCrop属性,找了半天文档了,不知道有没有什么方法实现
看了这片文章你就会了,很简单,你想要的全屏扫描效果
http://www.appcoda.com/qr-code-ios-programming-tutorial/
专门注册账户来回答这个问题,题注应该好好看看文档的,我就是因为信你找了半天没找到,才没有去看文档,(同时也怪我看帖子不仔细,才浪费了大量时间,其实早就看到《IOS二维码扫描,你需要注意的两件事》这篇文章),今天早上突然看了下文档才找到的,rectOfInterest属性。 解决方法: _output = [[AVCaptureMetadataOutput alloc]init]; CGSize size = self.view.bounds.size; CGRect cropRect = CGRectMake(50, 160, 220, 220); CGFloat p1 = size.height/size.width; CGFloat p2 = 1920./1080.; //使用了1080p的图像输出 if (p1 < p2) { CGFloat fixHeight = self.view.bounds.size.width * 1920. / 1080.; CGFloat fixPadding = (fixHeight - size.height)/2; _output.rectOfInterest = CGRectMake((cropRect.origin.y + fixPadding)/fixHeight, cropRect.origin.x/size.width, cropRect.size.height/fixHeight, cropRect.size.width/size.width); } else { CGFloat fixWidth = self.view.bounds.size.height * 1080. / 1920.; CGFloat fixPadding = (fixWidth - size.width)/2; _output.rectOfInterest = CGRectMake(cropRect.origin.y/size.height, (cropRect.origin.x + fixPadding)/fixWidth, cropRect.size.height/size.height, cropRect.size.width/fixWidth); }
参考: IOS二维码扫描,你需要注意的两件事 http://blog.cnbluebox.com/blog/2014/08/26/ioser-wei-ma-sao-miao/
01.很简单,有一个在这个ViewController上绘制界面的函数的,在界面上面添加上边框,只留出那么一块就好了,弊端在于有时候二维码显示在框内也可以识别,怪怪的,但是也无妨;
02.麻烦一点,就是把这个ViewController放进别的ViewController中;
看了这片文章你就会了,很简单,你想要的全屏扫描效果
http://www.appcoda.com/qr-code-ios-programming-tutorial/
专门注册账户来回答这个问题,题注应该好好看看文档的,我就是因为信你找了半天没找到,才没有去看文档,(同时也怪我看帖子不仔细,才浪费了大量时间,其实早就看到《IOS二维码扫描,你需要注意的两件事》这篇文章),今天早上突然看了下文档才找到的,rectOfInterest属性。
解决方法:
_output = [[AVCaptureMetadataOutput alloc]init];
CGSize size = self.view.bounds.size;
CGRect cropRect = CGRectMake(50, 160, 220, 220);
CGFloat p1 = size.height/size.width;
CGFloat p2 = 1920./1080.; //使用了1080p的图像输出
if (p1 < p2) {
CGFloat fixHeight = self.view.bounds.size.width * 1920. / 1080.;
CGFloat fixPadding = (fixHeight - size.height)/2;
_output.rectOfInterest = CGRectMake((cropRect.origin.y + fixPadding)/fixHeight,
cropRect.origin.x/size.width,
cropRect.size.height/fixHeight,
cropRect.size.width/size.width);
} else {
CGFloat fixWidth = self.view.bounds.size.height * 1080. / 1920.;
CGFloat fixPadding = (fixWidth - size.width)/2;
_output.rectOfInterest = CGRectMake(cropRect.origin.y/size.height,
(cropRect.origin.x + fixPadding)/fixWidth,
cropRect.size.height/size.height,
cropRect.size.width/fixWidth);
}
01.很简单,有一个在这个ViewController上绘制界面的函数的,在界面上面添加上边框,只留出那么一块就好了,弊端在于有时候二维码显示在框内也可以识别,怪怪的,但是也无妨;
02.麻烦一点,就是把这个ViewController放进别的ViewController中;