Pārlūkot izejas kodu

Raimage 1.19

iOS 16 barcode release
Ray Zhang 3 gadi atpakaļ
vecāks
revīzija
e511f91f23

+ 10 - 0
common/QRCode/RAQRCodeScannerViewController.h

@@ -7,7 +7,15 @@
 //
 
 #import <UIKit/UIKit.h>
+typedef enum {
 
+    RAScanTypeBarcode = 0 ,
+    RAScanTypeQRCode = 1,
+    RAScanTypeAll = 2
+
+    
+    
+} RAScanType;
 @interface RAQRCodeScannerViewController : UIViewController
 
 @property (nonatomic,copy) void (^QRCodeViewControllerDidCompletion)(RAQRCodeScannerViewController *qrcodeViewController, NSString *value);///< 需要在Block中返回
@@ -15,4 +23,6 @@
 
 + (instancetype)viewControllerFromStoryboard;
 
+
+@property RAScanType scanType;
 @end

+ 34 - 11
common/QRCode/RAQRCodeScannerViewController.m

@@ -314,17 +314,40 @@
     NSLog(@"%@", [_output availableMetadataObjectTypes]);
     NSString* log = [NSString stringWithFormat:@"%@ \n",[_output availableMetadataObjectTypes]];
     self.tvdbg_log.text = [self.tvdbg_log.text stringByAppendingString:log];
-    self.output.metadataObjectTypes = @[
-                                        AVMetadataObjectTypeQRCode,
-//                                        AVMetadataObjectTypeEAN13Code,
-//                                        AVMetadataObjectTypeEAN8Code,
-//                                        AVMetadataObjectTypeUPCECode,
-//                                        AVMetadataObjectTypeCode39Code,
-//                                        AVMetadataObjectTypeCode39Mod43Code,
-//                                        AVMetadataObjectTypeCode93Code,
-                                        AVMetadataObjectTypeCode128Code
-//                                        AVMetadataObjectTypePDF417Code
-                                        ];
+    
+    if(self.scanType==RAScanTypeAll)
+    {
+        self.output.metadataObjectTypes = self.output.availableMetadataObjectTypes;
+    }
+    else if(self.scanType == RAScanTypeBarcode)
+    {
+        self.output.metadataObjectTypes = @[
+//                                            AVMetadataObjectTypeQRCode,
+                                            AVMetadataObjectTypeEAN13Code,
+                                            AVMetadataObjectTypeEAN8Code,
+                                            AVMetadataObjectTypeUPCECode,
+                                            AVMetadataObjectTypeCode39Code,
+                                            AVMetadataObjectTypeCode39Mod43Code,
+                                            AVMetadataObjectTypeCode93Code,
+                                            AVMetadataObjectTypeCode128Code
+    //                                        AVMetadataObjectTypePDF417Code
+                                            ];
+    }
+    else
+    {
+        self.output.metadataObjectTypes = @[
+                                            AVMetadataObjectTypeQRCode,
+    //                                        AVMetadataObjectTypeEAN13Code,
+    //                                        AVMetadataObjectTypeEAN8Code,
+    //                                        AVMetadataObjectTypeUPCECode,
+    //                                        AVMetadataObjectTypeCode39Code,
+    //                                        AVMetadataObjectTypeCode39Mod43Code,
+    //                                        AVMetadataObjectTypeCode93Code,
+//                                            AVMetadataObjectTypeCode128Code
+                                            AVMetadataObjectTypePDF417Code
+                                            ];
+    }
+
     
     log = [NSString stringWithFormat:@"set : \n %@ \n",self.output.metadataObjectTypes];