lxy 1 year ago
parent
commit
24bacb873b

+ 3 - 15
LenzCameraNativeModuleForRN/Classes/inner/OperationNode/OperationNodeAIPanorama.m

@@ -57,9 +57,9 @@
     BOOL ret = [self.controller startVideoDataOutputing];
     if(ret){
         self.controller.panoramaGuideView.hidden = NO;
-        self.controller.panoramOrientationGuideView.selectedItemIndex = PanoramaOrientationViewLeft;
-        if ([self.controller.panoramOrientationGuideView.delegate respondsToSelector:@selector(panoramaOrientationViewslt:)]) {
-            [self.controller.panoramOrientationGuideView.delegate panoramaOrientationViewslt:PanoramaOrientationViewLeft];
+//        self.controller.panoramOrientationGuideView.selectedItemIndex = PanoramaOrientationViewLeft;
+        if ([self.controller.panoramOrientationGuideView.delegate respondsToSelector:@selector(panoramDirDidChange)]) {
+            [self.controller.panoramOrientationGuideView.delegate panoramDirDidChange];
         }
 //        [self.controller panoramaOrientationViewslt:PanoramaOrientationViewLeft];
 //        self.controller.panoramOrientationGuideView.hidden = NO;
@@ -68,18 +68,6 @@
 }
 
 - (void)stop{
-    if (!NSThread.isMainThread) {
-        __weak typeof(self) weakSelf = self;
-        dispatch_async(dispatch_get_main_queue(), ^{
-//            weakSelf.controller.switchButton.hidden = NO;
-//            weakSelf.controller.panoramaGuideView.hidden = YES;
-//            weakSelf.controller.panoramOrientationGuideView.hidden = YES;
-        });
-    } else {
-//        self.controller.switchButton.hidden = NO;
-//        self.controller.panoramaGuideView.hidden = YES;
-//        self.controller.panoramOrientationGuideView.hidden = YES;
-    }
     
     [super stop];
     dispatch_async(dispatch_get_main_queue(), ^{

+ 111 - 14
LenzCameraNativeModuleForRN/Classes/inner/PCSBaseViewController/PCSBaseViewController.m

@@ -186,7 +186,7 @@
     
     
     [self.view addSubview:self.panoramaGuideView];
-    [self panoramaOrientationViewslt:(PanoramaOrientationViewLeft)];
+//    [self panoramaOrientationViewslt:(PanoramaOrientationViewLeft)];
     self.panoramaGuideView.hidden = YES;
     
     [self.view addSubview:self.aiPanPromtLabel];
@@ -413,6 +413,7 @@
     self.currentTgDirection = TgDirectionPortrait;
     self.panoramaGuideView.dir = self.currentTgDirection;
     self.panoramaGuideView.orginDir = self.panoramOrientationGuideView.selectedItemIndex;
+    [self directionChange:self.currentTgDirection];
 
 }
 - (PCSAutherView *)authView {
@@ -1368,9 +1369,9 @@
         }
         self.flashButton.hidden = isSaveIng;
         if (self.mode == SDK_CAPTURE_MODE_INTELLEGENCE_PANORAMA) {
-            self.panoramOrientationGuideView.hidden = YES;
+            self.panoramOrientationGuideView.hidden = isSaveIng;
             self.ai_fullView.hidden = YES;
-            self.panoramaGuideView.hidden = YES;
+            self.panoramaGuideView.hidden = isSaveIng;
         } else {
             self.panoramOrientationGuideView.hidden = isSaveIng;
             self.ai_fullView.hidden = YES;
@@ -1395,7 +1396,7 @@
         self.takePhotoButton.hidden = NO;
         if (self.mode == SDK_CAPTURE_MODE_INTELLEGENCE_PANORAMA) {
             self.ai_fullView.hidden = YES;
-            self.panoramOrientationGuideView.hidden = YES;
+            self.panoramOrientationGuideView.hidden = NO;
             self.panoramaGuideView.hidden = YES;
         } else {
             self.ai_fullView.hidden = YES;
@@ -1591,13 +1592,14 @@
 - (void)updatePreViewLayer {
     CGFloat width = [UIScreen mainScreen].bounds.size.width;
     CGFloat height = [UIScreen mainScreen].bounds.size.height;
+    self.previewLayer.frame = CGRectMake(0, 0, width, height);
 
     switch (self.mode) {
         case SDK_CAPTURE_MODE_CONTINUOUS: {
             self.switchButton.hidden = NO;
             self.panoramaGuideView.hidden = YES;
             self.panoramOrientationGuideView.hidden = YES;
-            self.previewLayer.frame = CGRectMake(0, (height - width*4/3)/2, width, width*4/3);
+//            self.previewLayer.frame = CGRectMake(0, (height - width*4/3)/2, width, width*4/3);
         }
             
             break;
@@ -1605,7 +1607,7 @@
             self.switchButton.hidden = NO;
             self.panoramaGuideView.hidden = YES;
             self.panoramOrientationGuideView.hidden = YES;
-            self.previewLayer.frame = CGRectMake(0, (height - width*4/3)/2, width, width*4/3);
+//            self.previewLayer.frame = CGRectMake(0, (height - width*4/3)/2, width, width*4/3);
         }
             
             break;
@@ -1613,7 +1615,7 @@
             self.switchButton.hidden = NO;
             self.panoramaGuideView.hidden = YES;
             self.panoramOrientationGuideView.hidden = YES;
-            self.previewLayer.frame = CGRectMake(0, 0, width, height);
+//            self.previewLayer.frame = CGRectMake(0, 0, width, height);
 
         }
             
@@ -1622,7 +1624,7 @@
             self.switchButton.hidden = YES;
             self.panoramaGuideView.hidden = NO;
             self.panoramOrientationGuideView.hidden = NO;
-            self.previewLayer.frame = CGRectMake(0, (height - width*16/9)/2, width, width*16/9);
+//            self.previewLayer.frame = CGRectMake(0, (height - width*16/9)/2, width, width*16/9);
 
         }
             
@@ -1630,8 +1632,8 @@
         case SDK_CAPTURE_MODE_INTELLEGENCE_PANORAMA: {
             self.switchButton.hidden = YES;
             self.panoramaGuideView.hidden = YES;
-            self.panoramOrientationGuideView.hidden = YES;
-            self.previewLayer.frame = CGRectMake(0, (height - width*16/9)/2, width, width*16/9);
+            self.panoramOrientationGuideView.hidden = NO;
+//            self.previewLayer.frame = CGRectMake(0, (height - width*16/9)/2, width, width*16/9);
         }
             
             break;
@@ -1743,10 +1745,14 @@
 - (void)directionChange:(TgDirection)direction {
     self.currentTgDirection = direction;
 
-    if (self.mode != SDK_CAPTURE_MODE_PANORAMA) {
+    if (self.mode != SDK_CAPTURE_MODE_PANORAMA && self.mode != SDK_CAPTURE_MODE_INTELLEGENCE_PANORAMA) {
         return;
     }
-    if (self.isStitchBigImage) {
+    OperationNodeVideoBase *base = nil;
+    if ([self.currentOperationNode isKindOfClass:[OperationNodeVideoBase class]]) {
+        base = (OperationNodeVideoBase *)self.currentOperationNode;
+    }
+    if (base.isRecording) {
         return;
     }
     self.panoramaGuideView.dir = self.currentTgDirection;
@@ -1766,12 +1772,19 @@
                 make.centerX.mas_equalTo(self.view);
                 make.centerY.mas_equalTo(self.flashButton);
             }];
+            [self.aiPanPromtLabel mas_remakeConstraints:^(MASConstraintMaker *make) {
+                make.centerX.mas_equalTo(self.view);
+                make.top.mas_equalTo(self.modeLabel.mas_bottom).mas_offset(20);
+                make.width.mas_offset(240);
+                make.height.mas_offset(20);
+            }];
             self.modeLabel.transform = CGAffineTransformMakeRotation(0);
             [self.timerLabel mas_remakeConstraints:^(MASConstraintMaker *make) {
                 make.edges.mas_equalTo(self.modeLabel);
             }];
             self.timerLabel.transform = CGAffineTransformMakeRotation(0);
             self.svContentView.transform = CGAffineTransformMakeRotation(0);
+            self.aiPanPromtLabel.transform = CGAffineTransformMakeRotation(0);
 
         }
             break;
@@ -1791,12 +1804,19 @@
                 make.centerX.mas_equalTo(self.view);
                 make.centerY.mas_equalTo(self.flashButton);
             }];
+            [self.aiPanPromtLabel mas_remakeConstraints:^(MASConstraintMaker *make) {
+                make.centerX.mas_equalTo(self.view);
+                make.top.mas_equalTo(self.modeLabel.mas_bottom).mas_offset(20);
+                make.width.mas_offset(240);
+                make.height.mas_offset(20);
+            }];
             self.modeLabel.transform = CGAffineTransformMakeRotation(0);
             [self.timerLabel mas_remakeConstraints:^(MASConstraintMaker *make) {
                 make.edges.mas_equalTo(self.modeLabel);
             }];
             self.timerLabel.transform = CGAffineTransformMakeRotation(0);
             self.svContentView.transform = CGAffineTransformMakeRotation(0);
+            self.aiPanPromtLabel.transform = CGAffineTransformMakeRotation(0);
 
         }
 
@@ -1810,7 +1830,14 @@
                     make.height.mas_offset(22);
                     make.right.mas_offset(-(width-80));
                 }];
+                [self.aiPanPromtLabel mas_remakeConstraints:^(MASConstraintMaker *make) {
+                    make.centerY.mas_equalTo(self.view);
+                    make.right.mas_offset(-(width-200));
+                    make.width.mas_offset(240);
+                    make.height.mas_offset(20);
+                }];
                 self.modeLabel.transform = CGAffineTransformMakeRotation(-M_PI/2);
+                self.aiPanPromtLabel.transform = CGAffineTransformMakeRotation(-M_PI/2);
                 [self.timerLabel mas_remakeConstraints:^(MASConstraintMaker *make) {
                     make.edges.mas_equalTo(self.modeLabel);
                 }];
@@ -1824,7 +1851,14 @@
                     make.height.mas_offset(22);
                     make.right.mas_offset(-(width-80));
                 }];
+                [self.aiPanPromtLabel mas_remakeConstraints:^(MASConstraintMaker *make) {
+                    make.centerY.mas_equalTo(self.view);
+                    make.right.mas_offset(-(width-200));
+                    make.width.mas_offset(240);
+                    make.height.mas_offset(20);
+                }];
                 self.modeLabel.transform = CGAffineTransformMakeRotation(-M_PI/2);
+                self.aiPanPromtLabel.transform = CGAffineTransformMakeRotation(-M_PI/2);
                 [self.timerLabel mas_remakeConstraints:^(MASConstraintMaker *make) {
                     make.edges.mas_equalTo(self.modeLabel);
                 }];
@@ -1837,12 +1871,20 @@
                     make.centerX.mas_equalTo(self.view);
                     make.centerY.mas_equalTo(self.flashButton);
                 }];
+                [self.aiPanPromtLabel mas_remakeConstraints:^(MASConstraintMaker *make) {
+                    make.centerX.mas_equalTo(self.view);
+                    make.top.mas_equalTo(self.modeLabel.mas_bottom).mas_offset(20);
+                    make.width.mas_offset(240);
+                    make.height.mas_offset(20);
+                }];
                 self.modeLabel.transform = CGAffineTransformMakeRotation(0);
                 [self.timerLabel mas_remakeConstraints:^(MASConstraintMaker *make) {
                     make.edges.mas_equalTo(self.modeLabel);
                 }];
                 self.timerLabel.transform = CGAffineTransformMakeRotation(0);
                 self.svContentView.transform = CGAffineTransformMakeRotation(0);
+                self.aiPanPromtLabel.transform = CGAffineTransformMakeRotation(0);
+
 
             } else if (self.panoramOrientationGuideView.selectedItemIndex == PanoramaOrientationViewDown) {
                 [self panoramaOrientationViewslt:PanoramaOrientationViewRight];
@@ -1850,12 +1892,19 @@
                     make.centerX.mas_equalTo(self.view);
                     make.centerY.mas_equalTo(self.flashButton);
                 }];
+                [self.aiPanPromtLabel mas_remakeConstraints:^(MASConstraintMaker *make) {
+                    make.centerX.mas_equalTo(self.view);
+                    make.top.mas_equalTo(self.modeLabel.mas_bottom).mas_offset(20);
+                    make.width.mas_offset(240);
+                    make.height.mas_offset(20);
+                }];
                 self.modeLabel.transform = CGAffineTransformMakeRotation(0);
                 [self.timerLabel mas_remakeConstraints:^(MASConstraintMaker *make) {
                     make.edges.mas_equalTo(self.modeLabel);
                 }];
                 self.timerLabel.transform = CGAffineTransformMakeRotation(0);
                 self.svContentView.transform = CGAffineTransformMakeRotation(0);
+                self.aiPanPromtLabel.transform = CGAffineTransformMakeRotation(0);
 
             }
 
@@ -1870,7 +1919,14 @@
                     make.height.mas_offset(22);
                     make.left.mas_offset(width-80);
                 }];
+                [self.aiPanPromtLabel mas_remakeConstraints:^(MASConstraintMaker *make) {
+                    make.centerY.mas_equalTo(self.view);
+                    make.left.mas_offset(width-200);
+                    make.width.mas_offset(240);
+                    make.height.mas_offset(20);
+                }];
                 self.modeLabel.transform = CGAffineTransformMakeRotation(M_PI/2);
+                self.aiPanPromtLabel.transform = CGAffineTransformMakeRotation(M_PI/2);
                 [self.timerLabel mas_remakeConstraints:^(MASConstraintMaker *make) {
                     make.edges.mas_equalTo(self.modeLabel);
                 }];
@@ -1884,7 +1940,14 @@
                     make.height.mas_offset(22);
                     make.left.mas_offset(width-80);
                 }];
+                [self.aiPanPromtLabel mas_remakeConstraints:^(MASConstraintMaker *make) {
+                    make.centerY.mas_equalTo(self.view);
+                    make.left.mas_offset(width-200);
+                    make.width.mas_offset(240);
+                    make.height.mas_offset(20);
+                }];
                 self.modeLabel.transform = CGAffineTransformMakeRotation(M_PI/2);
+                self.aiPanPromtLabel.transform = CGAffineTransformMakeRotation(M_PI/2);
                 [self.timerLabel mas_remakeConstraints:^(MASConstraintMaker *make) {
                     make.edges.mas_equalTo(self.modeLabel);
                 }];
@@ -1897,12 +1960,19 @@
                     make.centerX.mas_equalTo(self.view);
                     make.centerY.mas_equalTo(self.flashButton);
                 }];
+                [self.aiPanPromtLabel mas_remakeConstraints:^(MASConstraintMaker *make) {
+                    make.centerX.mas_equalTo(self.view);
+                    make.top.mas_equalTo(self.modeLabel.mas_bottom).mas_offset(20);
+                    make.width.mas_offset(240);
+                    make.height.mas_offset(20);
+                }];
                 self.modeLabel.transform = CGAffineTransformMakeRotation(0);
                 [self.timerLabel mas_remakeConstraints:^(MASConstraintMaker *make) {
                     make.edges.mas_equalTo(self.modeLabel);
                 }];
                 self.timerLabel.transform = CGAffineTransformMakeRotation(0);
                 self.svContentView.transform = CGAffineTransformMakeRotation(0);
+                self.aiPanPromtLabel.transform = CGAffineTransformMakeRotation(0);
 
             } else if (self.panoramOrientationGuideView.selectedItemIndex == PanoramaOrientationViewDown) {
                 [self panoramaOrientationViewslt:PanoramaOrientationViewLeft];
@@ -1910,13 +1980,19 @@
                     make.centerX.mas_equalTo(self.view);
                     make.centerY.mas_equalTo(self.flashButton);
                 }];
+                [self.aiPanPromtLabel mas_remakeConstraints:^(MASConstraintMaker *make) {
+                    make.centerX.mas_equalTo(self.view);
+                    make.top.mas_equalTo(self.modeLabel.mas_bottom).mas_offset(20);
+                    make.width.mas_offset(240);
+                    make.height.mas_offset(20);
+                }];
                 self.modeLabel.transform = CGAffineTransformMakeRotation(0);
                 [self.timerLabel mas_remakeConstraints:^(MASConstraintMaker *make) {
                     make.edges.mas_equalTo(self.modeLabel);
                 }];
                 self.timerLabel.transform = CGAffineTransformMakeRotation(0);
                 self.svContentView.transform = CGAffineTransformMakeRotation(0);
-
+                self.aiPanPromtLabel.transform = CGAffineTransformMakeRotation(0);
             }
         }
             break;
@@ -1928,8 +2004,26 @@
 }
     
 #pragma  mark 方向调用的代理
+- (void)panoramDirDidChange {
+    [self directionChange:self.currentTgDirection];
+}
+
 - (void)panoramaOrientationViewslt:(PanoramaOrientationViewDirectionEnum)direction{
-    self.panoramaGuideView.hidden = NO;
+    if (self.mode == SDK_CAPTURE_MODE_PANORAMA) {
+        self.panoramaGuideView.hidden = NO;
+    } else {
+        OperationNodeVideoBase *base = nil;
+        if ([self.currentOperationNode isKindOfClass:[OperationNodeVideoBase class]]) {
+            base = (OperationNodeVideoBase *)self.currentOperationNode;
+        }
+        if (base.isRecording) {
+            self.panoramaGuideView.hidden = NO;
+        } else {
+            self.panoramaGuideView.hidden = YES;
+        }
+    }
+    
+    self.panoramaGuideView.hidden = !(self.mode == SDK_CAPTURE_MODE_PANORAMA);
     [UIView animateWithDuration:0.25 animations:^{
         [self.panoramaGuideView mas_remakeConstraints:^(MASConstraintMaker *make) {
             switch (direction) {
@@ -1967,8 +2061,11 @@
 //            [self.panoramaGuideView layoutIfNeeded];
 //        }
     } completion:^(BOOL finished) {
+        self.panoramaGuideView.dir = self.currentTgDirection;
         self.panoramaGuideView.orginDir = self.panoramOrientationGuideView.selectedItemIndex;
         [self.panoramaGuideView direction:direction];
+//        [self updatePanormaViewWith:direction];
+
     }];
 }
 

+ 4 - 1
LenzCameraNativeModuleForRN/Classes/inner/UI/PanoramaOrientaionView/PanoramaOrientationView.h

@@ -20,7 +20,10 @@ typedef enum : NSUInteger {
 
 @protocol PanoramaOrientationViewDelegate <NSObject>
 
--(void)panoramaOrientationViewslt:(PanoramaOrientationViewDirectionEnum)direction;
+//-(void)panoramaOrientationViewslt:(PanoramaOrientationViewDirectionEnum)direction;
+
+- (void)panoramDirDidChange;
+
 
 @end
 @interface PanoramaOrientationView : UIView

+ 4 - 4
LenzCameraNativeModuleForRN/Classes/inner/UI/PanoramaOrientaionView/PanoramaOrientationView.m

@@ -146,8 +146,8 @@
 - (void)tapAction:(UITapGestureRecognizer *)tap {
     UIView *view = tap.view;
     self.selectedItemIndex = view.tag;
-    if ([self.delegate respondsToSelector:@selector(panoramaOrientationViewslt:)]) {
-        [self.delegate panoramaOrientationViewslt:view.tag];
+    if ([self.delegate respondsToSelector:@selector(panoramDirDidChange)]) {
+        [self.delegate panoramDirDidChange];
     }
 
 }
@@ -170,8 +170,8 @@
         [self.items enumerateKeysAndObjectsUsingBlock:^(NSNumber * _Nonnull key, __kindof PanoramaOrientationViewItem * _Nonnull obj, BOOL * _Nonnull stop) {
             if (CGRectContainsPoint(obj.frame, center)) {
                 self.selectedItemIndex = key.integerValue;
-                if ([self.delegate respondsToSelector:@selector(panoramaOrientationViewslt:)]) {
-                    [self.delegate panoramaOrientationViewslt:key.integerValue];
+                if ([self.delegate respondsToSelector:@selector(panoramDirDidChange)]) {
+                    [self.delegate panoramDirDidChange];
                 }
             }
         }];

+ 1 - 1
LenzSDK.podspec

@@ -8,7 +8,7 @@
 
 Pod::Spec.new do |s|
   s.name             = 'LenzSDK'
-  s.version          = '2.2.0'
+  s.version          = '2.2.1'
   s.summary          = 'A short description of LenzSDK.'
 
 # This description is used to generate tags and improve search results.