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