Swift手勢密碼庫,用這一個就夠了伟众!

一個輕量級、面對協(xié)議編程召廷、高度自定義的 圖形解鎖/手勢解鎖 / 手勢密碼 / 圖案密碼 / 九宮格密碼

相比于其他同類三方庫有哪些優(yōu)勢:

  • 完全面對協(xié)議編程凳厢,支持高度自定義網(wǎng)格視圖連接線視圖,輕松實現(xiàn)各類不同需求竞慢;
  • 默認支持多種配置效果先紫,支持大部分主流效果,引入就可以搞定需求筹煮;
  • 源碼采用Swift5編寫遮精,通過泛型、枚舉、函數(shù)式編程優(yōu)化代碼本冲,具有更高的學習價值准脂;
  • 后期會持續(xù)迭代,不斷添加主流效果檬洞;

Github地址

JXPatternLock

效果預覽

說明 Gif
箭頭
image
中間點自動連接
image
小灰點
image
小白點
image
熒光藍
image
fill白色
image
陰影
image
圖片
image
旋轉(zhuǎn)(雞你太美)
image
破折線
image
圖片連接線(箭頭)
image
圖片連接線(小魚兒)
image
設(shè)置密碼
image
修改密碼
image
驗證密碼
image

使用

初始化PatternLockViewConfig

方式一:使用LockConfig

LockConfig是默認提供的類狸膏,實現(xiàn)了PatternLockViewConfig協(xié)議√碚可以直接通過LockConfig的屬性進行自定義湾戳。

let config = LockConfig()
config.gridSize = CGSize(width: 70, height: 70)
config.matrix = Matrix(row: 3, column: 3)
config.errorDisplayDuration = 1

方式二:新建實現(xiàn)PatternLockViewConfig協(xié)議的類

該方式可以將所有配置細節(jié)聚集到自定義類的內(nèi)部,外部只需要初始化自定義類即可广料。詳情請參考demo里面的ArrowConfig類砾脑。這樣有個好處就是,多個地方都需要用到同樣配置的時候艾杏,只需要初始化相同的類韧衣,而不用像使用LockConfig那樣,復制屬性配置代碼糜颠。

struct ArrowConfig: PatternLockViewConfig {
    var matrix: Matrix = Matrix(row: 3, column: 3)
    var gridSize: CGSize = CGSize(width: 70, height: 70)
    var connectLine: ConnectLine?
    var autoMediumGridsConnect: Bool = false
    //其他屬性配置汹族!只是示例,就不顯示所有配置項其兴,影響文檔長度
}

配置GridView

config.initGridClosure = {(matrix) -> PatternLockGrid in
    let gridView = GridView()
    let outerStrokeLineWidthStatus = GridPropertyStatus<CGFloat>.init(normal: 1, connect: 2, error: 2)
    let outerStrokeColorStatus = GridPropertyStatus<UIColor>(normal: tintColor, connect: tintColor, error: .red)
    gridView.outerRoundConfig = RoundConfig(radius: 33, lineWidthStatus: outerStrokeLineWidthStatus, lineColorStatus: outerStrokeColorStatus, fillColorStatus: nil)
    let innerFillColorStatus = GridPropertyStatus<UIColor>(normal: nil, connect: tintColor, error: .red)
    gridView.innerRoundConfig = RoundConfig(radius: 10, lineWidthStatus: nil, lineColorStatus: nil, fillColorStatus: innerFillColorStatus)
    return gridView
}

配置ConnectLine

let lineView = ConnectLineView()
lineView.lineColorStatus = .init(normal: tintColor, error: .red)
lineView.triangleColorStatus = .init(normal: tintColor, error: .red)
lineView.isTriangleHidden = false
lineView.lineWidth = 3
config.connectLine = lineView

初始化PatternLockView

lockView = PatternLockView(config: config)
lockView.delegate = self
view.addSubview(lockView)

結(jié)構(gòu)

image

完全遵從面對協(xié)議開發(fā)顶瞒。
PatternLockView依賴于配置協(xié)議PatternLockViewConfig
配置協(xié)議配置網(wǎng)格協(xié)議PatternLockGrid和連接線協(xié)議ConnectLine元旬。

Github地址

JXPatternLock

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末榴徐,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子匀归,更是在濱河造成了極大的恐慌坑资,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,682評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件穆端,死亡現(xiàn)場離奇詭異袱贮,居然都是意外死亡,警方通過查閱死者的電腦和手機体啰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評論 3 395
  • 文/潘曉璐 我一進店門攒巍,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人荒勇,你說我怎么就攤上這事柒莉。” “怎么了沽翔?”我有些...
    開封第一講書人閱讀 165,083評論 0 355
  • 文/不壞的土叔 我叫張陵兢孝,是天一觀的道長。 經(jīng)常有香客問我,道長跨蟹,這世上最難降的妖魔是什么雳殊? 我笑而不...
    開封第一講書人閱讀 58,763評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮喷市,結(jié)果婚禮上相种,老公的妹妹穿的比我還像新娘。我一直安慰自己品姓,他們只是感情好寝并,可當我...
    茶點故事閱讀 67,785評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著腹备,像睡著了一般衬潦。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上植酥,一...
    開封第一講書人閱讀 51,624評論 1 305
  • 那天镀岛,我揣著相機與錄音,去河邊找鬼友驮。 笑死漂羊,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的卸留。 我是一名探鬼主播走越,決...
    沈念sama閱讀 40,358評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼耻瑟!你這毒婦竟也來了旨指?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,261評論 0 276
  • 序言:老撾萬榮一對情侶失蹤喳整,失蹤者是張志新(化名)和其女友劉穎谆构,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體框都,經(jīng)...
    沈念sama閱讀 45,722評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡搬素,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了魏保。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蔗蹋。...
    茶點故事閱讀 40,030評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖囱淋,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情餐塘,我是刑警寧澤妥衣,帶...
    沈念sama閱讀 35,737評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響税手,放射性物質(zhì)發(fā)生泄漏蜂筹。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,360評論 3 330
  • 文/蒙蒙 一芦倒、第九天 我趴在偏房一處隱蔽的房頂上張望艺挪。 院中可真熱鬧,春花似錦兵扬、人聲如沸麻裳。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽津坑。三九已至,卻和暖如春傲霸,著一層夾襖步出監(jiān)牢的瞬間疆瑰,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評論 1 270
  • 我被黑心中介騙來泰國打工昙啄, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留穆役,地道東北人。 一個月前我還...
    沈念sama閱讀 48,237評論 3 371
  • 正文 我出身青樓梳凛,卻偏偏與公主長得像耿币,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子伶跷,可洞房花燭夜當晚...
    茶點故事閱讀 44,976評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 站在熙熙攘攘的人群中掰读,你也許不是那么起眼,擁有的不是那么多叭莫,但這不要緊蹈集。要緊的是:你始終循著自己的腳步,在不慌不忙...
    范zx閱讀 234評論 0 0
  • 此文假設(shè)所有人都會java的語法. 手把手創(chuàng)建項目 打開Android studio后, 選擇file-new p...
    _道友請留步_閱讀 570評論 0 1
  • 作者『麻婆碎豆腐』 主題『27天日常生活記錄』 最近網(wǎng)上發(fā)生了很多事情雇初。 有留學女學者被殘忍殺害拢肆,女子深夜被施暴拖...
    我想學習啦閱讀 166評論 0 1
  • 小時候,學校離家遠靖诗,但是離父母單位比較近郭怪。父母是雙職工,在鎮(zhèn)上的紡織廠上班刊橘。每天鄙才,父母都騎著自行車載著我去學校。路...
    父母的依靠閱讀 199評論 1 1