From 23c075a9c27946773feccf05abc90489a6bf5203 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期一, 06 七月 2020 15:58:53 +0800
Subject: [PATCH] 20200706

---
 HDLWidgetLibrary/HDLWidgetLibrary/GestureLockView/HDLGestureLockView.m |  114 ++++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 93 insertions(+), 21 deletions(-)

diff --git a/HDLWidgetLibrary/HDLWidgetLibrary/GestureLockView/HDLGestureLockView.m b/HDLWidgetLibrary/HDLWidgetLibrary/GestureLockView/HDLGestureLockView.m
index 0e48d12..8148149 100644
--- a/HDLWidgetLibrary/HDLWidgetLibrary/GestureLockView/HDLGestureLockView.m
+++ b/HDLWidgetLibrary/HDLWidgetLibrary/GestureLockView/HDLGestureLockView.m
@@ -13,9 +13,9 @@
 #define SSGestureLock_SelectedButtonSize CGSizeMake(60,60)//閫夋嫨鍚庢寜閽殑澶у皬
 #define SSGestureLock_SelectedLineColor HEXCOLOR(0xFC744B)//閫夋嫨鏃跺�欑嚎鐨勯鑹�
 #define SSGestureLock_SelectedErrorLineColor HEXCOLOR(0xFF0000) //閫夋嫨鍚庨敊璇嚎鐨勯鑹�
-#define SSGestureLock_NomarlColor HEXCOLOR(0xD5DBE8)
+//#define SSGestureLock_NomarlColor HEXCOLOR(0xD5DBE8)
 #define SSGestureLock_BorderColor HEXCOLOR(0x818181)
-
+#define SSGestureLock_NomarlColor HEXCOLOR(0xC0C7D4)
 
 
 CGFloat const SSGestureLock_DrawLineWidth  = 2; //鐢荤嚎鐨勫搴�
@@ -39,6 +39,10 @@
 @property (nonatomic, strong) UIColor *errorColor;
 @property (nonatomic, strong) UIColor *normalColor;
 @property (nonatomic, strong) UIColor *selectedColor;
+@property (nonatomic, strong) UIColor *selectedColor_Alpha;
+@property (nonatomic, strong) UIColor *errorColor_Alpha;
+@property (nonatomic, assign) BOOL isSolidType;
+
 @end
 
 @implementation SSGestureLockKeyView
@@ -60,19 +64,26 @@
     ///鏍规嵁澶у皬鏉ヨ缃渾瑙�
     self.layer.cornerRadius = self.frame.size.height/2;
     self.layer.masksToBounds = true;
-    self.layer.borderWidth = 1.0f;
-    self.layer.borderColor = SSGestureLock_BorderColor.CGColor;
+//    self.layer.borderWidth = 1.0f;
+//    self.layer.borderColor = SSGestureLock_BorderColor.CGColor;
     
     CGFloat smallView_x = CGRectGetWidth(self.frame)*1/3;
     CGFloat smallView_y = CGRectGetWidth(self.frame)*1/3;
     CGFloat smallView_width = CGRectGetWidth(self.frame)*1/3;
     self.smallView.frame = CGRectMake(smallView_x, smallView_y, smallView_width, smallView_width);
     self.smallView.layer.cornerRadius = self.smallView.frame.size.height/2;
+    
+    if(_isSolidType){
+        self.smallView.backgroundColor = self.normalColor;
+    }else{
+        self.layer.borderWidth = 1.0f;
+        self.layer.borderColor = SSGestureLock_BorderColor.CGColor;
+    }
 }
-
 
 - (void)setErrorColor:(UIColor *)errorColor{
     _errorColor = errorColor;
+    _errorColor_Alpha = [self getNewColorWith:errorColor newAlpha:0.2F];
 }
 - (void)setNormalColor:(UIColor *)normalColor{
     _normalColor = normalColor;
@@ -80,25 +91,58 @@
 }
 - (void)setSelectedColor:(UIColor *)selectedColor{
     _selectedColor = selectedColor;
+    _selectedColor_Alpha = [self getNewColorWith:selectedColor newAlpha:0.2F];
+}
+
+// 鏀瑰彉UIColor鐨凙lpha
+- (UIColor *)getNewColorWith:(UIColor *)color newAlpha:(float)newAlpha{
+    CGFloat red = 0.0;
+    CGFloat green = 0.0;
+    CGFloat blue = 0.0;
+    CGFloat alpha = 0.0;
+    [color getRed:&red green:&green blue:&blue alpha:&alpha];
+    UIColor *newColor = [UIColor colorWithRed:red green:green blue:blue alpha:newAlpha];
+    return newColor;
 }
 
 - (void)setKeyType:(SSGestureLockKeyType)keyType{
     _keyType = keyType;
-    if (_keyType == SSGestureLockKeyNormalType) {
-        //        self.backgroundColor = [UIColor clearColor];
-        self.smallView.backgroundColor = [UIColor clearColor];
-        self.layer.borderColor = SSGestureLock_BorderColor.CGColor;
-    }
-    if (_keyType == SSGestureLockKeySelectedType) {
-        //        self.backgroundColor = self.normalColor;
-        self.smallView.backgroundColor = self.selectedColor;
-        self.layer.borderColor = self.selectedColor.CGColor;
-    }
     
-    if (_keyType == SSGestureLockKeyErrorType) {
-        //        self.backgroundColor = self.normalColor;
-        self.smallView.backgroundColor = self.errorColor;
-        self.layer.borderColor = self.errorColor.CGColor;
+    if(!_isSolidType){
+        if (_keyType == SSGestureLockKeyNormalType) {
+            //        self.backgroundColor = [UIColor clearColor];
+            self.smallView.backgroundColor = [UIColor clearColor];
+            self.layer.borderColor = SSGestureLock_BorderColor.CGColor;
+        }
+        if (_keyType == SSGestureLockKeySelectedType) {
+            //        self.backgroundColor = self.normalColor;
+            self.smallView.backgroundColor = self.selectedColor;
+            self.layer.borderColor = self.selectedColor.CGColor;
+        }
+        
+        if (_keyType == SSGestureLockKeyErrorType) {
+            //        self.backgroundColor = self.normalColor;
+            self.smallView.backgroundColor = self.errorColor;
+            self.layer.borderColor = self.errorColor.CGColor;
+        }
+        
+    }else{
+        if (_keyType == SSGestureLockKeyNormalType) {
+            self.smallView.backgroundColor = self.normalColor;
+            self.backgroundColor =  [UIColor clearColor];
+            //        self.layer.borderColor = SSOnGestureLock_BorderColor.CGColor;
+        }
+        if (_keyType == SSGestureLockKeySelectedType) {
+            self.smallView.backgroundColor = self.selectedColor;
+            //        self.layer.borderColor = self.selectedColor.CGColor;
+            self.backgroundColor = self.selectedColor_Alpha;
+        }
+        
+        if (_keyType == SSGestureLockKeyErrorType) {
+            self.smallView.backgroundColor = self.errorColor;
+            self.backgroundColor = self.errorColor_Alpha;
+            //        self.layer.borderColor = self.errorColor.CGColor;
+        }
     }
 }
 
@@ -110,6 +154,7 @@
 @property (nonatomic, strong) NSMutableArray <SSGestureLockKeyView *> *selectedKeyViewArray;
 @property (nonatomic, assign) CGPoint movePoint;
 @property (nonatomic, strong) CAShapeLayer *drawLayer;
+@property (nonatomic, assign) BOOL isSolidType; //鏄惁涓哄疄蹇冨渾鐐圭殑鎵嬪娍瑙i攣绫诲瀷
 
 @end
 
@@ -211,6 +256,7 @@
         keyView.errorColor = self.errorLineColor;
         keyView.selectedColor = self.selectedLineColor;
         keyView.normalColor = self.normalColor;
+        keyView.isSolidType = self.isSolidType;
         keyView.tag = i+1;
         [self addSubview:keyView];
         [self.keyViewArray  addObject:keyView];
@@ -356,7 +402,33 @@
  */
 -(void)initWithFrameLockView:(CGRect) mCGRect{
     self.frame = mCGRect;
-//    [self refreshFrame];
-
+    //    [self refreshFrame];
+    
+        int mSpace = self.frame.size.width/(2*SSGestureLock_EachNum - 1);
+        self.horizontalSpace = mSpace;
+        self.verticalSpace = mSpace;
+    ////    [self refreshFrame];
+    
 }
+
+/// 2020-06-17
+/// 璁剧疆瀹炲績妯″紡
+/// @param isSolidType 鏄惁
+-(void)setSolidType:(BOOL)isSolidType{
+    self.isSolidType = isSolidType;
+    [self resetViews];
+}
+
+
+/// 閲嶇疆view
+- (void)resetViews{
+    //绉婚櫎鎵�鏈夊瓙view
+    for(UIView *view in [self subviews])
+    {
+        [view removeFromSuperview];
+    }
+    [_keyViewArray removeAllObjects];
+    [self setViews];
+}
+
 @end

--
Gitblit v1.8.0