From 53189866ba4012fec0b40990fd2281b836fa2668 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期三, 01 七月 2020 16:29:16 +0800
Subject: [PATCH] 20200701
---
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