iOS 九宮格解鎖原始碼

2021-07-02 23:24:14 字數 1435 閱讀 7995

專案原始碼:

布局:北京是乙個imageview   中間是乙個view   連線自定義lockview

實現思路:

1:新增9個button

2:監聽觸控事件   如果觸控點在button上則設定button的selected = yes   

3:把觸控過程中的button新增到集合

4:繪製線條

此view未做成功處理,自己可根據資料集合來進行判斷進行下一步

**:

#import "lockview.h"

@inte***ce lockview()

@property (nonatomic,strong) nsmutablearray *btns;

@property (nonatomic,assign) cgpoint movep;

@end

@implementation lockview

- (nsmutablearray *)btns

return _btns;

}//解析xib的時候呼叫

- (id)initwithcoder:(nscoder *)adecoder

return self;

}//新增按鈕

- (void)addbtns

}- (void)touchesbegan:(nsset *)touches withevent:(uievent *)event

}//手指移動

-(void)touchesmoved:(nsset *)touches withevent:(uievent *)event

//重繪

[self setneedsdisplay];

}//手指抬起取消選擇 路徑取消

- (void)touchesended:(nsset *)touches withevent:(uievent *)event

//獲取觸控點

- (cgpoint)pointwithtouches:(nsset *)touches

//獲取觸控按鈕

- (uibutton *)buttonwithpoint:(cgpoint)point

}return nil;

}//設定按鈕frame

- (void)layoutsubviews

}- (void)drawrect:(cgrect)rectelse

}//所有選中的按鈕之間都連線

//連線多餘的那跟線

[path addlinetopoint:_movep];

[[uicolor greencolor]set];

path.linewidth = 8;

path.linejoinstyle = kcglinejoinround;

//渲染到檢視

[path stroke];

}@end

Appium Python九宮格密碼解鎖

整體思路 獲取整個九宮格的view,然後計算出view的寬度和高度,從而計算出九宮格中每個點的座標位置,再通過touchaction driver press x,y move to x,y release perform 這個方法來繪製自己需要繪製的手勢密碼 實現如下 需要匯入的 def getu...

iOS 九宮格連線手勢解鎖

效果圖 核心 clockview.m 手勢解鎖 created by llkj on 2017 8 24.import clockview.h inte ce clockview 存放當前選中的按鈕 property nonatomic,strong nsmutablearray selectbtn...

Java實現九宮格滑動解鎖

實現思路 為了適應不同螢幕的滑動解鎖,實現思路 1.獲取九宮格patterview的起始座標x y 2.獲取九宮格patterview的寬度 width 高度 height 3.九宮格的九個格仔大約平均把patterview的長 寬平均分成了4個等分,寬度間隔為width 4 高度間隔為height...