前言
原文github鏈接:鏈接
這是一個高可擴展性,使用簡單的自定義安全鍵盤.利用工廠調用不同的類方法我們可以生產出相應的鍵盤,并且支持擴展,目前主要支持了數字和身份證鍵盤,每個鍵盤的UI調整也很簡單,并且支持鍵盤沒輸入一個鍵,輸出的字符串都可以加密.
集成方法
直接將FYKeybord
文件夾整體拖入工程即可,明明都有前綴不會沖突.
需要導入Masonry
框架以及實現一個能根據16進制自動轉RGB顏色的方法以及一個屏幕寬度宏.
刪除按鈕的樣式圖片默認沒有添加,如果需要請自行去Resource
文件夾拖取.
使用方法
1.不考慮光標可以移動,只需要按順序輸入,刪除則是從最后一位刪除可以如此使用:
FYNumberKeybordView *keybordView = [FYKeybordFactory fy_createNumberKeybordViewWithNumberPadType:randomNumberPadType];
[self.view addSubview:keybordView];
[keybordView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.bottom.equalTo(@0);
make.height.equalTo(@247);
}];
這里需要注意的是該鍵盤需要手動實現FYNumberKeybordView
的代理方法和frame,也沒什么難的.
效果如下:
效果
2.考慮光標的移動,鍵盤的彈起替換就要用新的接口了,只需要這一行代碼,如果你需要定制frame請去子類中修改:
[FYKeybordFactory fy_createCursorNumberKeybordViewWithTargetTextfield:textField numberPadType:randomNumberPadType];
效果如下:
效果
3.身份證鍵盤和上面的使用方法類似:
[FYKeybordFactory fy_createIDKeybordViewWithTargetTextField:textField];
效果如下:
效果
4.本demo是沒有修改加密后的字符串的,如果你需要修改可以在FYNumberPadModel
類的secretNumberStr
GET 方法中進行添加