|
@@ -45,6 +45,8 @@ CGFloat const PanoramaGuideViewWOrH = 120;
|
|
|
@property (nonatomic) UIImageView *showImageView;
|
|
|
@property (nonatomic) PanoramaArrowDir lastArrowDir;
|
|
|
|
|
|
+@property (nonatomic) NSNumber *offSetTop;
|
|
|
+@property (nonatomic) NSNumber *offSetLeft;
|
|
|
|
|
|
@end
|
|
|
|
|
@@ -54,6 +56,8 @@ CGFloat const PanoramaGuideViewWOrH = 120;
|
|
|
self = [super init];
|
|
|
self.backgroundColor = [UIColor jk_colorWithHexString:@"#000000" andAlpha:0.5];
|
|
|
[self addSubview:self.showImageView];
|
|
|
+ self.offSetTop = @((120-38)/2);
|
|
|
+ self.offSetLeft = @((120-38)/2);
|
|
|
return self;
|
|
|
}
|
|
|
|
|
@@ -258,7 +262,8 @@ CGFloat const PanoramaGuideViewWOrH = 120;
|
|
|
}];
|
|
|
[self.whiteArrow mas_remakeConstraints:^(MASConstraintMaker *make) {
|
|
|
make.bottom.offset(-imageWH);
|
|
|
- make.centerX.mas_equalTo(self);
|
|
|
+ make.left.mas_equalTo(self.offSetLeft.doubleValue);
|
|
|
+// make.centerX.mas_equalTo(self);
|
|
|
}];
|
|
|
}
|
|
|
break;
|
|
@@ -270,7 +275,9 @@ CGFloat const PanoramaGuideViewWOrH = 120;
|
|
|
}];
|
|
|
[self.whiteArrow mas_remakeConstraints:^(MASConstraintMaker *make) {
|
|
|
make.top.offset(imageWH);
|
|
|
- make.centerX.mas_equalTo(self);
|
|
|
+// make.centerX.mas_equalTo(self);
|
|
|
+ make.left.mas_equalTo(self.offSetLeft.doubleValue);
|
|
|
+
|
|
|
}];
|
|
|
|
|
|
}
|
|
@@ -284,7 +291,9 @@ CGFloat const PanoramaGuideViewWOrH = 120;
|
|
|
|
|
|
[self.whiteArrow mas_remakeConstraints:^(MASConstraintMaker *make) {
|
|
|
make.right.offset(-imageWH);
|
|
|
- make.centerY.mas_equalTo(self);
|
|
|
+// make.centerY.mas_equalTo(self);
|
|
|
+ make.top.mas_equalTo(self.offSetTop.doubleValue);
|
|
|
+
|
|
|
}];
|
|
|
}
|
|
|
break;
|
|
@@ -298,7 +307,9 @@ CGFloat const PanoramaGuideViewWOrH = 120;
|
|
|
|
|
|
[self.whiteArrow mas_remakeConstraints:^(MASConstraintMaker *make) {
|
|
|
make.left.offset(imageWH);
|
|
|
- make.centerY.mas_equalTo(self);
|
|
|
+// make.centerY.mas_equalTo(self);
|
|
|
+ make.top.mas_equalTo(self.offSetTop.doubleValue);
|
|
|
+
|
|
|
}];
|
|
|
}
|
|
|
|
|
@@ -317,40 +328,52 @@ CGFloat const PanoramaGuideViewWOrH = 120;
|
|
|
}
|
|
|
|
|
|
- (void)updateArrowWith:(PanoramaArrowDir)arrowDir dir:(PanoramaOrientationViewDirectionEnum)dir {
|
|
|
- if (self.lastArrowDir == arrowDir) {
|
|
|
- return;
|
|
|
- }
|
|
|
- self.lastArrowDir = arrowDir;
|
|
|
+
|
|
|
+// self.lastArrowDir = arrowDir;
|
|
|
dispatch_async(dispatch_get_main_queue(), ^{
|
|
|
if (!self.showImageView.image) {
|
|
|
return;
|
|
|
}
|
|
|
CGFloat imageWidth = self.showImageView.image.size.width;
|
|
|
CGFloat imageHight = self.showImageView.image.size.height;
|
|
|
- if (dir == PanoramaOrientationViewDown) {
|
|
|
+ if (dir == PanoramaOrientationViewDown || dir == PanoramaOrientationViewUp) {
|
|
|
if (arrowDir == PanoramaArrowDirCenter) {
|
|
|
+ self.offSetLeft = @((120-38)/2);
|
|
|
[self.whiteArrow mas_remakeConstraints:^(MASConstraintMaker *make) {
|
|
|
make.bottom.offset(-(PanoramaGuideViewWOrH * imageWidth)/imageHight);
|
|
|
- make.centerX.mas_equalTo(self);
|
|
|
+// make.centerX.mas_equalTo(self);
|
|
|
+ make.left.mas_offset(self.offSetLeft.doubleValue);
|
|
|
}];
|
|
|
} else if (arrowDir == PanoramaArrowDirLeft) {
|
|
|
+ self.offSetLeft = @(0);
|
|
|
[self.whiteArrow mas_remakeConstraints:^(MASConstraintMaker *make) {
|
|
|
make.bottom.offset(-(PanoramaGuideViewWOrH * imageWidth)/imageHight);
|
|
|
- make.left.mas_equalTo(self).mas_offset(10);
|
|
|
+// make.left.mas_equalTo(self).mas_offset(10);
|
|
|
+ make.left.mas_offset(self.offSetLeft.doubleValue);
|
|
|
+
|
|
|
}];
|
|
|
} else if (arrowDir == PanoramaArrowDirRight) {
|
|
|
+ self.offSetLeft = @(120-38);
|
|
|
+
|
|
|
[self.whiteArrow mas_remakeConstraints:^(MASConstraintMaker *make) {
|
|
|
make.bottom.offset(-(PanoramaGuideViewWOrH * imageWidth)/imageHight);
|
|
|
- make.right.mas_equalTo(self).mas_offset(-10);
|
|
|
+// make.right.mas_equalTo(self).mas_offset(-10);
|
|
|
+ make.left.mas_offset(self.offSetLeft.doubleValue);
|
|
|
+
|
|
|
}];
|
|
|
}
|
|
|
} else if (dir == PanoramaOrientationViewUp) {
|
|
|
if (arrowDir == PanoramaArrowDirCenter) {
|
|
|
+ self.offSetTop = @((120-38)/2);
|
|
|
+
|
|
|
[self.whiteArrow mas_remakeConstraints:^(MASConstraintMaker *make) {
|
|
|
make.top.offset((PanoramaGuideViewWOrH * imageWidth)/imageHight);
|
|
|
- make.centerX.mas_equalTo(self);
|
|
|
+// make.centerX.mas_equalTo(self);
|
|
|
+ make.top.mas_offset(self.offSetTop.doubleValue);
|
|
|
}];
|
|
|
} else if (arrowDir == PanoramaArrowDirLeft) {
|
|
|
+ self.offSetTop = @((120-38)/2);
|
|
|
+
|
|
|
[self.whiteArrow mas_remakeConstraints:^(MASConstraintMaker *make) {
|
|
|
make.top.offset((PanoramaGuideViewWOrH * imageWidth)/imageHight);
|
|
|
make.left.mas_equalTo(self).mas_offset(10);
|
|
@@ -362,21 +385,33 @@ CGFloat const PanoramaGuideViewWOrH = 120;
|
|
|
}];
|
|
|
}
|
|
|
|
|
|
- } else if (dir == PanoramaOrientationViewLeft) {
|
|
|
+ } else if (dir == PanoramaOrientationViewLeft || dir == PanoramaOrientationViewRight) {
|
|
|
if (arrowDir == PanoramaArrowDirCenter) {
|
|
|
+ self.offSetTop = @((120-38)/2);
|
|
|
+
|
|
|
[self.whiteArrow mas_remakeConstraints:^(MASConstraintMaker *make) {
|
|
|
make.left.offset((PanoramaGuideViewWOrH * imageWidth)/imageHight);
|
|
|
- make.centerY.mas_equalTo(self);
|
|
|
+// make.centerY.mas_equalTo(self);
|
|
|
+ make.top.mas_offset(self.offSetTop.doubleValue);
|
|
|
+
|
|
|
}];
|
|
|
} else if (arrowDir == PanoramaArrowDirUp) {
|
|
|
+ self.offSetTop = @(0);
|
|
|
+
|
|
|
[self.whiteArrow mas_remakeConstraints:^(MASConstraintMaker *make) {
|
|
|
make.left.offset((PanoramaGuideViewWOrH * imageWidth)/imageHight);
|
|
|
- make.top.mas_equalTo(self).mas_offset(10);
|
|
|
+// make.top.mas_equalTo(self).mas_offset(10);
|
|
|
+ make.top.mas_offset(self.offSetTop.doubleValue);
|
|
|
+
|
|
|
}];
|
|
|
} else if (arrowDir == PanoramaArrowDirDown) {
|
|
|
+ self.offSetTop = @(120-38);
|
|
|
+
|
|
|
[self.whiteArrow mas_remakeConstraints:^(MASConstraintMaker *make) {
|
|
|
make.left.offset((PanoramaGuideViewWOrH * imageWidth)/imageHight);
|
|
|
- make.bottom.mas_equalTo(self).mas_offset(-10);
|
|
|
+// make.bottom.mas_equalTo(self).mas_offset(-10);
|
|
|
+ make.top.mas_offset(self.offSetTop.doubleValue);
|
|
|
+
|
|
|
}];
|
|
|
}
|
|
|
|