广告
返回顶部
首页 > 资讯 > 移动开发 >iOS封装倒计时按钮HLCountDownButton示例详解
  • 845
分享到

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

2024-04-02 19:04:59 845人浏览 泡泡鱼
摘要

目录引言演示图可选自定义属性3种样式选择回调说明全局样式设置引言 在开发中经常会用到倒计时的按钮,常用在发送短信验证码中。最差的写法是把代码写在ViewController中。这样的

引言

开发中经常会用到倒计时的按钮,常用在发送短信验证码中。最差的写法是把代码写在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的资料请关注编程网其它相关文章!

--结束END--

本文标题: iOS封装倒计时按钮HLCountDownButton示例详解

本文链接: https://www.lsjlt.com/news/164775.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • iOS封装倒计时按钮HLCountDownButton示例详解
    目录引言演示图可选自定义属性3种样式选择回调说明全局样式设置引言 在开发中经常会用到倒计时的按钮,常用在发送短信验证码中。最差的写法是把代码写在ViewController中。这样的...
    99+
    2022-11-13
  • Android实现倒计时的按钮的示例代码
    最近有人问我如何实现倒计时的按钮功能,例如发送验证码,我记得有个CountDownTimer,因为好久没用过了,自己就写了一个,代码如下 new CountDownTime...
    99+
    2022-06-06
    倒计时 示例 按钮 Android
  • Vue组件实现卡片动画倒计时示例详解
    目录前言需求拆解组件设计思路具体开发animate-clock.vueanimate-card项目中使用后记前言 最近有朋友在做投票的项目,里面有用到一个倒计时的组件,还想要个动画效...
    99+
    2022-11-13
  • C语言光标旋转与倒计时功能实现示例详解
    目录1、光标旋转2、倒计时1、光标旋转 首先问大家一个问题,大家觉得回车与换行是一个相同的概念吗? 很多人往往把它们两个当作是一个相同的概念,为什么会这么说呢?回想一下'\n',大家...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作