AVCaptureMetadataOutput 中的属性rectOfInterest 看起来是CGRect类型, 结果让你填写一个比例, 当你填写比例是你会发现还是有各种问题, 最后总结一下, 加入你的屏幕的frame 为 x , y, w, h, 你要设置的矩形快的frame 为 x1, y1, w1, h1. 那么你的 rectOfInterest 应该设置为 CGRectMake(y1/y, x1/x, h1/h, w1/w),
[output setRectOfInterest:[self rectOfInterestByScanViewRect:你的扫描框的rect];
- (CGRect)rectOfInterestByScanViewRect:(CGRect)rect {
CGFloat width = CGRectGetWidth(self.view.frame);
CGFloat height = CGRectGetHeight(self.view.frame);
CGFloat x = rect.origin.y/ height;
CGFloat y = rect.origin.x/ width;
CGFloat w = CGRectGetHeight(rect) / height;
CGFloat h = CGRectGetWidth(rect) / width;
return CGRectMake(x, y, w, h);
}