就是类似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 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 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中;