iOS高仿支付寶解鎖:CoreLock

fpcm 9年前發布 | 27K 次閱讀 CoreLock iOS開發 移動開發

高仿支付寶解鎖!

注:本框架是高仿支付寶,并集成了所有功能,并非一個簡單的解鎖界面展示。個人制作用時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];
    }];
  }
}

示例截圖

iOS高仿支付寶解鎖:CoreLock

CoreLock 高仿支付寶解鎖! 

版權說明 RIGHTS

作品說明:本框架由iOS開發攻城獅Charlin制作。

作品時間: 2015.04.26 18:07

關于Chariln INTRODUCE

作者簡介:Charlin-四川成都華西都市報旗下華西都市網絡有限公司技術部iOS工程師!

項目主頁:http://www.baiduhome.net/lib/view/home/1430533413646

 本文由用戶 fpcm 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!