易盾安全键盘-iOS
2024.11.25 14:16:23
SDK 集成
1.拖拽 NTESSafeKeyBoard.framework
文件到 Xcode 工程内(请勾选 Copy items if needed 选项)。
2.进入 Build Phase,在 Copy Bundle Resources 选项中,添加 NTESSafeKeyBoardResources.bundle
文件
(注意:SDK 最低兼容系统版本 iOS 9.0)
快速调用示例
在项目需要使用 SDK 的文件中引入 QuickPass SDK 头文件,如下:
#import <UniSafeKeyBoard/NTESSafeKeyBoardView.h>
在页面初始化的地方初始化 SDK,如下:
- (void)viewDidLoad {
[super viewDidLoad];
// sdk 调用
self.keyBoardView = [NTESSafeKeyBoardView KeyBoardMenu];
self.keyBoardView.delegate = self;
self.keyBoardView.keyBoardTypeDidChange = ^{
NSLog(@"键盘类型改变");
};
}
在需要调出键盘的地方,调用 SDK 的 keyBoardView
接口,将其赋值给 UITextField
的 inputView
属性,如下
self.numberTextField.inputView = [self.keyBoardView keyBoardView];
键盘输入字符时,获取回调信息,调用 SDK 的代理方法 addInputValue:
来更新 textFiled
的 text 属性值,如下:
-(void)addInputValue:(NSString *)value
{
if (self.numberTextField.isEditing) {
[self.numberString appendString:value];
self.numberTextField.text = self.numberString;
}
}
键盘删除字符时,获取回调信息,调用 SDK 的代理方法 deleteInputValue
来更新 textFiled
的 text 属性值,如下:
- (void)deleteInputValue
{
if (self.numberTextField.isEditing) {
if (![self.numberString isEqualToString:@""]) {
NSString *tempStr = [self.numberString
substringToIndex:(self.numberString.length - 1)];
self.numberString = [tempStr mutableCopy];
self.numberTextField.text = self.numberString;
}
}
}
在需要隐藏键盘的地方,点击键盘上“完成”按钮,会调用 SDK 代理方法 hideKeyBoard
,在该方法中隐藏键盘即可,如下
- (void)hideKeyBoard
{
if ([self.numberTextField isFirstResponder])
{
[self.numberTextField resignFirstResponder];
}
}
SDK方法说明
初始化
/**
* @abstract 类方法
*
* @return 返回 NTESSafeKeyBoardView 对象
*/
+ (instancetype)KeyBoardMenu;
枚举
/**
* @abstract 枚举类型
*
* @说明 NTESNumberKeyBoardType 数字键盘
* NTESEnglishKeyBoardType 英文键盘
* NTESCharacterKeyBoardType 字符键盘
* NTESPureNumberKeyBoardType 纯数字键盘,仅支持数字
输入,不可切换英文、符号键盘
* 默认为数字键盘。
*
*/
typedef NS_ENUM(NSInteger, NTESKeyBoardType) {
NTESNumberKeyBoardType = 1,
NTESEnglishKeyBoardType,
NTESCharacterKeyBoardType,
NTESPureNumberKeyBoardType,
};
block
/**
* @abstract block
*
* @说明 键盘类型发生改变时,回调此方法
*/
typedef void(^NTESKeyBoardChangeType)(void);
属性
/**
* @abstract 代理对象
*/
@property (nonatomic, weak) id<NTESSafeKeyBoardViewDelegate>
delegate;
/**
* @abstract block 对象
*/
@property (nonatomic, copy) NTESKeyBoardChangeType
keyBoardTypeDidChange;
/**
* @abstract 键盘类型,可选项见枚举类型 NTESKeyBoardType,默认为
NTESNumberKeyBoardType。
*/
@property (nonatomic, assign) NTESKeyBoardType keyBoardType;
/**
* @abstract 数字键盘是否为乱序,YES 表示乱序,NO 表示正常顺序,默认
正常顺序。
*/
@property (nonatomic, assign) BOOL numberKeyIsRandom;
/**
* @abstract 英文键盘是否为乱序,YES 表示乱序,NO 表示正常顺序,默认
正常顺序。
*/
@property (nonatomic, assign) BOOL englishKeyIsRandom;
/**
* @abstract 配置键盘名称,默认为"易盾安全键盘"
*/
@property (nonatomic, strong) NSString *keyBoardTitle;
获取键盘view
/**
* @abstract 实例方法
*
* @return 设置键盘类型后,返回键盘 view,默认返回数字键盘。
*/
- (UIView *)keyBoardView;
代理方法
/**
* @abstract 代理方法
*
* @param value 键盘当前输入的字符
*
* @说明 在此方法中可以做更新 UITextFiled text 属性值的操作,
将 value 字符拼接到 text 属性值末尾
*/
- (void)addInputValue:(NSString *)value;
/**
* @abstract 代理方法
*
* @说明 在此方法中可以做更新 UITextFiled text 属性值的操作,删
除 UITextFiled text 属性值的末尾字符
*/
- (void)deleteInputValue;
/**
* @abstract 代理方法
*
* @说明 隐藏键盘的回调,点击"完成"回调此方法
*/
- (void)hideKeyBoard;
/**
* @abstract 代理方法
*
* @说明 在使用键盘期间进行截屏操作时,在此方法中回调通知
*/
- (void)getUserTakeScreenshotNotification;
如需隐藏输入信息,接入方可自行配置 UITextField
的 secureTextEntry
属性。
效果示例
纯数字键盘
数字键盘
英文键盘
符号键盘
其中数字键盘、纯数字键盘和英文键盘均可设置乱序。