iOS封装倒计时按钮HLCountDownButton示例详解

 更新时间:2022年07月20日 15:27:22   作者:一个写iOS的小垃圾  
这篇文章主要为大家介绍了iOS封装倒计时按钮HLCountDownButton示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

引言

在开发中经常会用到倒计时的按钮,常用在发送短信验证码中。最差的写法是把代码写在ViewController中。这样的话如果项目中存在多个倒计时按钮,代码就十分臃肿了。所以封装一个倒计时按钮就迫在眉睫了。传送门HLCountDownButton,欢迎帮忙点点小星星🌟🌟

  • ✅ 支持过xibstoryboard自定义样式
  • ✅ 支持切换前后台计时准确
  • ✅ 多种样式切换
  • ✅ 支持CocoaPods导入pod "HLCountDownButton"
  • ✅ 支持全局设置样式

演示图

可选自定义属性

/// 样式,默认HLCountDownButtonTypeNormal
@property (nonatomic, assign) IBInspectable NSInteger hlType UI_APPEARANCE_SELECTOR;
/// 是否可用,默认YES
@property (nonatomic, assign) IBInspectable BOOL hlEnabled UI_APPEARANCE_SELECTOR;
/// 正常标题,默认“获取验证码”
@property (nonatomic, copy) IBInspectable NSString *normalTitle UI_APPEARANCE_SELECTOR;
/// 重新获取标题,默认“获取验证码”
@property (nonatomic, copy) IBInspectable NSString *againTitle UI_APPEARANCE_SELECTOR;
/// 发送中标题格式,默认“%ds 后获取”
@property (nonatomic, copy) IBInspectable NSString *sendingTitleFormat UI_APPEARANCE_SELECTOR;
/// 高亮颜色,默认0x4181FE
@property (nonatomic, strong) IBInspectable UIColor *highlightedColor UI_APPEARANCE_SELECTOR;
/// 非高亮颜色,默认0xd2d2d2
@property (nonatomic, strong) IBInspectable UIColor *disabledColor UI_APPEARANCE_SELECTOR;
/// 圆角半径,默认4
@property (nonatomic, assign) IBInspectable CGFloat cornerRadius UI_APPEARANCE_SELECTOR;
/// 边框宽度,默认0.5
@property (nonatomic, assign) IBInspectable CGFloat borderWidth UI_APPEARANCE_SELECTOR;
/// 倒计时长,默认60s
@property (nonatomic, assign) IBInspectable NSInteger countDownSize UI_APPEARANCE_SELECTOR;

3种样式选择

typedef NS_ENUM(NSInteger, HLCountDownButtonType) {
    HLCountDownButtonTypeNormal,            ///< 无背景,无边框
    HLCountDownButtonTypeOnlyLine,          ///< 无背景,有边框
    HLCountDownButtonTypeOnlyBackground,    ///< 有背景,无边框
};

回调说明

__weak typeof(self) weakSelf = self;
self.countDownButton.startBlock = ^(){
    // TODO 点击了倒计时按钮,这里可进行发送验证码操作
    // [weakSelf sendCodeMsg];
};

注意:点击了会有startBlock回调,就不要为HLCountDownButton添加点击Action

全局样式设置

如果您项目中多个地方使用到该组件,您可以全局设置样式,例在AppDelegate添加

[HLCountDownButton appearance].highlightedColor = [UIColor redColor];

注意:代码 > appearance > interface builder,所以appearance设置的会覆盖在xib或storyboard中设置的属性,当然代码会覆盖appearance设置

以上就是iOS封装倒计时按钮HLCountDownButton示例详解的详细内容,更多关于iOS封装HLCountDownButton的资料请关注脚本之家其它相关文章!

相关文章

  • iOS中containsString和rangeOfString的区别小结

    iOS中containsString和rangeOfString的区别小结

    这篇文章主要给大家总结介绍了关于iOS中containsString和rangeOfString的一些区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-01-01
  • 浅析iOS多视图滑动点击切换的集成

    浅析iOS多视图滑动点击切换的集成

    本文将大家常常会用到的多视图滑动点击切换视图进行封装,这样在大家使用的时候就很方便了,有需要的可以参考学习,下面一起来看看吧。
    2016-08-08
  • Objective-C中的语法糖示例详解

    Objective-C中的语法糖示例详解

    开发过程中我特别喜欢用语法糖,原因很简单,懒得看到一堆长长的代码,但语法糖简单却不那么简单,下面这篇文章主要给大家介绍了关于Objective-C中语法糖的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下。
    2018-01-01
  • IOS 文件读写操作详解及简单实例

    IOS 文件读写操作详解及简单实例

    这篇文章主要介绍了IOS 文件读写操作详解及简单实例的相关资料,需要的朋友可以参考下
    2017-04-04
  • iOS中json解析出现的null,nil,NSNumber的解决办法

    iOS中json解析出现的null,nil,NSNumber的解决办法

    在iOS开发过程中经常需要与服务器进行数据通讯,Json就是一种常用的高效简洁的数据格式,通过本文给大家介绍iOS中json解析出现的null,nil,NSNumber的解决办法,感兴趣的朋友参考下
    2016-01-01
  • iOS tableview实现简单搜索功能

    iOS tableview实现简单搜索功能

    这篇文章主要为大家详细介绍了iOS tableview实现简单搜索功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • iOS中关于Cookie验证登录状态

    iOS中关于Cookie验证登录状态

    这篇文章主要介绍了iOS中关于Cookie验证登录状态的相关资料,需要的朋友可以参考下
    2017-05-05
  • IOS 开发之自定义按钮实现文字图片位置随意定制

    IOS 开发之自定义按钮实现文字图片位置随意定制

    这篇文章主要介绍了IOS 开发之自定义按钮实现文字图片位置随意定制的相关资料,这里附有实例代码及实现效果图,需要的朋友可以参考下
    2016-12-12
  • iOS实现毛玻璃效果(无需要第三方)

    iOS实现毛玻璃效果(无需要第三方)

    这篇文章主要为大家详细介绍了iOS实现毛玻璃效果,无需要第三方,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • iOS 获取当前的ViewController的方法

    iOS 获取当前的ViewController的方法

    本篇文章主要介绍了iOS 获取当前的ViewController的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09

最新评论