易盾安全键盘-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 接口,将其赋值给 UITextFieldinputView 属性,如下

    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;
    
    

    如需隐藏输入信息,接入方可自行配置 UITextFieldsecureTextEntry 属性。

    效果示例

    纯数字键盘

    image

    数字键盘

    image

    英文键盘

    image

    符号键盘

    image

    其中数字键盘、纯数字键盘和英文键盘均可设置乱序。

    Online Chat Tel:95163223 Free trial