Latest 0.0.2
Homepage https://github.com/SevenCho/XSSecurityCodeButton
License MIT
Platforms ios 9.0, requires ARC
Frameworks UIKit, Foundation
Authors

简介

XSSecurityCodeButton 是一个简约的验证码按钮, 本功能完全参考summertian4/CFSecurityCodeButton源码进行仿写, 主要为了实践制作发布自己的CocoaPods库😘。

XSSecurityCodeButton演示

功能

  1. 自定义 Normal 状态下文字和 Disabled 状态下文字XS
  2. 自动根据Normal 和 Disabled 状态下文字设置宽高
  3. 自定义定时时间
  4. 自动根据按钮的主题色调整文字颜色
  5. 提供了代理方法监控按钮开始计时和计时结束
  6. 提供了一些好看的颜色供使用者选择

安装

  1. 手动安装

    • XSSecurityCodeButton文件夹拖入你的项目中导入头文件即可。
  2. CocoaPods

    pod ‘XSSecurityCodeButton’

使用

  1. 创建

    • 通过主题色创建一个 XSSecurityCodeButton
    XSSecurityCodeButton *btSecurityCode_Blue = [[XSSecurityCodeButton alloc] initWithColor:XSColorDodgerBlue];
    • 提供了一些颜色供使用者选择
    XSColorCoral
    XSColorDodgerBlue
    XSColorDeepSkyBlue
    XSColorTurquoise
    XSColorWarmYellow
    XSColorMediumPurple
    XSColorSeaGreen
    • 也可以通过便利构造方法初始化XSSecurityCodeButton
        /**
     创建XSSecurityCodeButton(默认倒计时60s)
    
     @param buttonColor 主题颜色
     @param normalTitle 正常状态显示文字
     @param disabledTitle 点击后显示文字
     @return XSSecurityCodeButton实例
     */
    - (instancetype)initWithColor:(UIColor *)buttonColor normalTitle:(nullable NSString *)normalTitle disabledTitle:(nullable NSString *)disabledTitle;
    
    /**
     创建XSSecurityCodeButton实例
    
     @param buttonColor 主题颜色
     @param normalTitle 正常状态显示文字
     @param disabledTitle 点击后显示文字
     @param timeDuration 倒计时时间(设置为0默认倒计时60s)
     @return XSSecurityCodeButton实例
     */
    - (instancetype)initWithColor:(UIColor *)buttonColor normalTitle:(nullable NSString *)normalTitle disabledTitle:(nullable NSString *)disabledTitle timeDuration:(NSTimeInterval)timeDuration;
  2. 设置文字

    • 如果没有设置,默认 Normal 状态会显示"发送验证码",Disabled 状态会显示"再次发送(倒计时)"
    • 如果需要自定义可以设置normalTitledisabledTitle属性
    btSecurityCode.normalTitle = @"自定义normal状态文字内容";
    btSecurityCode.disabledTitle = @"自定义disabled状态文字内容";

    XSSecurityCodeButton演示

  3. 设置倒计时

    • 如果没有设置,默认倒计时为 60 秒
    • 如果需要自定义可以设置timeDuration属性
    btSecurityCode.time = 60;
  4. 自动调节文字颜色

    • XSSecurityCodeButton 会根据自身的颜色调节文字颜色,当颜色过深时文字将会变成白色,当颜色过浅时文字颜色将会变成黑色

    XSSecurityCodeButton演示

  5. 代理

    • 提供了两个代理方法监控按钮
    /**
     点击倒计时按钮
    
     @param SecurityCodeButton 倒计时按钮
     */
    - (void)didClickedSecurityCodeButton:(XSSecurityCodeButton *)SecurityCodeButton;
    
    /**
     倒计时结束
    
     @param SecurityCodeButton 倒计时按钮
     */
    - (void)timingEndedOfSecurityCodeButton:(XSSecurityCodeButton *)SecurityCodeButton;
    • 只需要实现 XSSecurityCodeButtonDelegate,重写代理方法
  6. 为了避免内存泄露:

    /** 停止定时器
     */
    - (void)stopTiming;

Latest podspec

{
    "name": "XSSecurityCodeButton",
    "version": "0.0.2",
    "summary": "XSSecurityCodeButton u662fu4e00u4e2au7b80u7ea6u7684u9a8cu8bc1u7801u6309u94ae.",
    "homepage": "https://github.com/SevenCho/XSSecurityCodeButton",
    "license": "MIT",
    "authors": {
        "CoderBoy": "[email protected]"
    },
    "social_media_url": "https://sevencho.github.io",
    "platforms": {
        "ios": "9.0"
    },
    "source": {
        "git": "https://github.com/SevenCho/XSSecurityCodeButton.git",
        "tag": "0.0.2"
    },
    "source_files": [
        "XSSecurityCodeButton",
        "XSSecurityCodeButton/**/*.{h,m}"
    ],
    "frameworks": [
        "UIKit",
        "Foundation"
    ],
    "requires_arc": true
}

Pin It on Pinterest

Share This