二维码扫描-优化少许

二维码扫描功能请参考其他文章,本文旨在优化


  • 优化处理 NO.1

首次进入二维码扫描页面,可能会出现这样的情况:界面弹出相机访问权限设置框,摄像头还没打开,提示框还未点击,扫描线已经开始运动了,用户体验非常糟糕,通常采取的做法是加上一块maskView

AVAuthorizationStatus authorizationStatus = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo];
    switch (authorizationStatus) {
        case AVAuthorizationStatusNotDetermined: {
            [AVCaptureDevice requestAccessForMediaType:AVMediaTypeVideo completionHandler: ^(BOOL granted) {
            // 关键代码
            dispatch_async(dispatch_get_main_queue(), ^{
                    if (granted) {
                        _maskView.alpha = 0.0f;
                    } else {
                        NSLog(@"权限未允许");
                    }
                });
            }];
            break;
        }   
        case AVAuthorizationStatusAuthorized: {
        // 次关键代码
            _maskView.alpha = 0.0f;
            break;
        }  
        case AVAuthorizationStatusRestricted:
        case AVAuthorizationStatusDenied: {
            NSLog(@"权限未允许");
            break;
        }  
        default: {
            break;
        }
    }

  • 优化处理 NO.2

扫描相册中的二维码,如果打开系统相册的瞬间有闪屏的现象,将相关代码放到下面方法中执行便可

- (void)viewWillAppear:(BOOL)animated;

你可能感兴趣的:(二维码扫描-优化少许)