iOS高仿支付寶解鎖:CoreLock
高仿支付寶解鎖!
注:本框架是高仿支付寶,并集成了所有功能,并非一個簡單的解鎖界面展示。個人制作用時1周多,打造解鎖終結者框架。
框架特性:
.ios版本兼容ios 7.0及以上.
.扁平化設計,全部使用QuartzCore引擎繪制,沒有使用任何圖片素材
.完全解耦,不需要繼承,不需要定義成員屬性,類方法直接搞定一切。
.自動管理生命周期,你只需要使用即可,不需要管理控制器的生命周期。
block封裝,不需要任何代理
.完美屏幕適配,支持所有ios設備。
.做了比較多的性能優化,最大必的提高性能。
.完善的錯誤處理機制。
Charlin想說:
此版本是全部的QuartzCore繪制,整個框架使用了幾乎所有的QuartzCore技術,如果你有興趣,可以看下源代碼, 算是一個比較不錯的QuartzCore實戰教程。
對于本框架,有以下技術點和大家分享:
1.主界面使用Xib定制,如果你需要添加控件,非常方便,比如支付寶頂部有用戶頭像,我這里沒有,所以就沒加,如果你需要加,直接在xib添加即可。
2.本地數據存儲使用沙盒存儲。
3.無任何代理設計,全程使用block解決,引用老劉的一句話,目前代理設計模式正在被塊代碼所逐步取代。
4.解鎖線條繪制使用的是比較復雜的奇偶裁剪技術。有興趣可以看看蘋果官方示例。
5.關于QuartzCore,使用到的技術除了基本的繪制以外,還使用了圖形上下文棧,矩陣變換,刷新圖層等。
6.本框架考慮了添加密碼,修改密碼,驗證密碼,忘記密碼等支付寶幾乎全部的功能,并且使用簡單。
使用示例
/* * 設置密碼 */ - (IBAction)setPwd:(id)sender { BOOL hasPwd = [CLLockVC hasPwd]; hasPwd = NO; if(hasPwd){ NSLog(@"已經設置過密碼了,你可以驗證或者修改密碼"); }else{ [CLLockVC showSettingLockVCInVC:self successBlock:^(CLLockVC *lockVC, NSString *pwd) { NSLog(@"密碼設置成功"); [lockVC dismiss:1.0f]; }]; } } /* * 驗證密碼 */ - (IBAction)verifyPwd:(id)sender { BOOL hasPwd = [CLLockVC hasPwd]; if(!hasPwd){ NSLog(@"你還沒有設置密碼,請先設置密碼"); }else { [CLLockVC showVerifyLockVCInVC:self forgetPwdBlock:^{ NSLog(@"忘記密碼"); } successBlock:^(CLLockVC *lockVC, NSString *pwd) { NSLog(@"密碼正確"); [lockVC dismiss:1.0f]; }]; } } /* * 修改密碼 */ - (IBAction)modifyPwd:(id)sender { BOOL hasPwd = [CLLockVC hasPwd]; if(!hasPwd){ NSLog(@"你還沒有設置密碼,請先設置密碼"); }else { [CLLockVC showModifyLockVCInVC:self successBlock:^(CLLockVC *lockVC, NSString *pwd) { [lockVC dismiss:.5f]; }]; } }
示例截圖
CoreLock 高仿支付寶解鎖!
版權說明 RIGHTS
作品說明:本框架由iOS開發攻城獅Charlin制作。
作品時間: 2015.04.26 18:07
關于Chariln INTRODUCE
作者簡介:Charlin-四川成都華西都市報旗下華西都市網絡有限公司技術部iOS工程師!
本文由用戶 fpcm 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!